質問編集履歴

2

リンク挿入

2020/12/27 04:43

投稿

217ext
217ext

スコア0

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- LINEbotでおみくじ こちらのサイト( http://gilmon.hatenablog.com/entry/2017/01/04/224827 )を参考にLINEbotでおみくじに挑戦してみたのですが、
5
+ LINEbotでおみくじ こちらのサイト( [http://gilmon.hatenablog.com/entry/2017/01/04/224827](http://gilmon.hatenablog.com/entry/2017/01/04/224827) )を参考にLINEbotでおみくじに挑戦してみたのですが、
6
6
 
7
7
  GASのほうで「TypeError: Cannot read property 'postData' of undefined doPost @ コード.gs:6 」というエラーがでます。
8
8
 

1

コードの記入

2020/12/27 04:43

投稿

217ext
217ext

スコア0

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,141 @@
14
14
 
15
15
 
16
16
 
17
- 記事が3年前なのもあり情報が古いのか、なにか変更間違えているのかどうすればいいのかわかりません。 記事のスクリプトの中で変更したのは、各種画像のURLと一番最初のChannel Access Tokenだけです。ほかにも変更する場所があるのでしょうか。 有識者の方、お力を貸していただけませんか。 よろしくお願いします
17
+ 記事が3年前なのもあり情報が古いのか、なにか変更間違えているのかどうすればいいのかわかりません。 記事のスクリプトの中で変更したのは、各種画像のURLと一番最初のChannel Access Tokenだけです。ほかにも変更する場所があるのでしょうか。 有識者の方、お力を貸していただけませんか。 よろしくお願いします
18
+
19
+
20
+
21
+ ###コード####
22
+
23
+ ```
24
+
25
+ // LINE Developers の Channel Access Tokenを設定
26
+
27
+ var channel_access_token = "トークン";
28
+
29
+
30
+
31
+ // LINEから呼ばれる関数
32
+
33
+ function doPost(e) {
34
+
35
+ var events = JSON.parse(e.postData.contents).events;
36
+
37
+ events.forEach(function(event) {
38
+
39
+ if(event.type == "message"){
40
+
41
+ lineReply(event);
42
+
43
+ }
44
+
45
+ });
46
+
47
+ }
48
+
49
+ // LINEへの返信
50
+
51
+ function lineReply(e) {
52
+
53
+ var repMes = replyMessage(e);
54
+
55
+ var postData = {
56
+
57
+ "replyToken" : e.replyToken,
58
+
59
+ "messages" : repMes
60
+
61
+ };
62
+
63
+ var options = {
64
+
65
+ "method" : "post",
66
+
67
+ "headers" : {
68
+
69
+ "Content-Type" : "application/json",
70
+
71
+ "Authorization" : "Bearer " + channel_access_token
72
+
73
+ },
74
+
75
+ "payload" : JSON.stringify(postData)
76
+
77
+ };
78
+
79
+ UrlFetchApp.fetch("https://api.line.me/v2/bot/message/reply", options);
80
+
81
+ }
82
+
83
+ //返信する画像を準備
84
+
85
+ function replyMessage(e) {
86
+
87
+ if(e.message.text=="おみくじ"){
88
+
89
+ var rand = Math.floor( Math.random() * 4 ) +1;
90
+
91
+ var imageurl;
92
+
93
+ switch (rand) {
94
+
95
+ case 1:
96
+
97
+ //大吉
98
+
99
+ imageurl="画像"
100
+
101
+ break;
102
+
103
+ case 2:
104
+
105
+ //中吉
106
+
107
+ imageurl="画像"
108
+
109
+ break;
110
+
111
+ case 3:
112
+
113
+ //吉
114
+
115
+ imageurl="画像"
116
+
117
+ break;
118
+
119
+ case 4:
120
+
121
+ //小吉
122
+
123
+ imageurl="画像"
124
+
125
+ break;
126
+
127
+ }
128
+
129
+ var repMes=[
130
+
131
+ {
132
+
133
+ "type" : "image",
134
+
135
+ "originalContentUrl" : imageurl,
136
+
137
+ "previewImageUrl" : imageurl
138
+
139
+ }
140
+
141
+ ];
142
+
143
+ return(repMes)
144
+
145
+ }
146
+
147
+ };
148
+
149
+
150
+
151
+ ```
18
152
 
19
153
 
20
154