質問編集履歴

2

修正

2018/11/28 14:05

投稿

vac
vac

スコア11

test CHANGED
File without changes
test CHANGED
@@ -118,7 +118,7 @@
118
118
 
119
119
 
120
120
 
121
- ## デバッグ
121
+ ## 追加検証(追記)
122
122
 
123
123
  console.log()等で原因探しを進めてみましたが、StackdriverLoggingの方には、リクエスト失敗のエラーしか出力されません。
124
124
 

1

デバッグを進めました

2018/11/28 14:04

投稿

vac
vac

スコア11

test CHANGED
File without changes
test CHANGED
@@ -115,3 +115,105 @@
115
115
 
116
116
 
117
117
  POSTがされないのか、doPost()が呼ばれていないのか、返答が遅れていないのか、よくわかりません。Loggerも使ってみましたが何も表示されずよくわからず仕舞いです...
118
+
119
+
120
+
121
+ ## デバッグ
122
+
123
+ console.log()等で原因探しを進めてみましたが、StackdriverLoggingの方には、リクエスト失敗のエラーしか出力されません。
124
+
125
+ ```
126
+
127
+ function doPost(e) {
128
+
129
+ console.info("ここまできた"); //出力されてない
130
+
131
+ var json = JSON.parse(e.postData.contents);
132
+
133
+
134
+
135
+ //返信するためのトークン取得
136
+
137
+ var reply_token= json.events[0].replyToken;
138
+
139
+ if (typeof reply_token === 'undefined') {
140
+
141
+ return;
142
+
143
+ }
144
+
145
+
146
+
147
+ //送られたメッセージ内容を取得
148
+
149
+ var message = json.events[0].message.text;
150
+
151
+
152
+
153
+ // メッセージを返信
154
+
155
+ var response = UrlFetchApp.fetch(line_endpoint, {
156
+
157
+ 'headers': {
158
+
159
+ 'Content-Type': 'application/json; charset=UTF-8',
160
+
161
+ 'Authorization': 'Bearer ' + access_token,
162
+
163
+ },
164
+
165
+ 'method': 'post',
166
+
167
+ 'payload': JSON.stringify({
168
+
169
+ 'replyToken': reply_token,
170
+
171
+ 'messages': [{
172
+
173
+ 'type': 'text',
174
+
175
+ 'text': message,
176
+
177
+ }],
178
+
179
+ }),
180
+
181
+ });
182
+
183
+
184
+
185
+ // サンプル
186
+
187
+ try {
188
+
189
+ var rcode = response.getResponseCode();
190
+
191
+ var rbody = response.getContentText();
192
+
193
+ if (rcode !== 200) {
194
+
195
+ console.log("%d: %s", rcode, rbody); //出力されてない
196
+
197
+ }
198
+
199
+ } catch(e) {
200
+
201
+ console.log(e); //出力されていない
202
+
203
+ }
204
+
205
+ return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
206
+
207
+ }
208
+
209
+ ```
210
+
211
+ ##### 結果
212
+
213
+ ```
214
+
215
+ https://api.line.me/v2/bot/message/reply のリクエストに失敗しました(エラー: 401)。サーバー応答の一部: {"message":"Authentication failed due to the following reason: accessToken expired(2). Confirm that the access token in the authorization header is...(応答の全文を見るには muteHttpExceptions オプションを使用してください) at doPost(コード:19)
216
+
217
+ ```
218
+
219
+ アクセストークンは再発行して最新のものに書き換えたので、問題ないと思いますが、何か手がかりがあれば教えていただけると嬉しいです。