質問編集履歴
2
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -58,7 +58,7 @@
|
|
58
58
|
|
59
59
|
POSTがされないのか、doPost()が呼ばれていないのか、返答が遅れていないのか、よくわかりません。Loggerも使ってみましたが何も表示されずよくわからず仕舞いです...
|
60
60
|
|
61
|
-
##
|
61
|
+
## 追加検証(追記)
|
62
62
|
console.log()等で原因探しを進めてみましたが、StackdriverLoggingの方には、リクエスト失敗のエラーしか出力されません。
|
63
63
|
```
|
64
64
|
function doPost(e) {
|
1
デバッグを進めました
title
CHANGED
File without changes
|
body
CHANGED
@@ -56,4 +56,55 @@
|
|
56
56
|
- GAS側でアプリケーションにアクセスするユーザは「全員(匿名ユーザを含む)」になっています
|
57
57
|
- LINE Developers側でWebhookの接続確認を行うと「✔︎成功しました」となります
|
58
58
|
|
59
|
-
POSTがされないのか、doPost()が呼ばれていないのか、返答が遅れていないのか、よくわかりません。Loggerも使ってみましたが何も表示されずよくわからず仕舞いです...
|
59
|
+
POSTがされないのか、doPost()が呼ばれていないのか、返答が遅れていないのか、よくわかりません。Loggerも使ってみましたが何も表示されずよくわからず仕舞いです...
|
60
|
+
|
61
|
+
## デバッグ
|
62
|
+
console.log()等で原因探しを進めてみましたが、StackdriverLoggingの方には、リクエスト失敗のエラーしか出力されません。
|
63
|
+
```
|
64
|
+
function doPost(e) {
|
65
|
+
console.info("ここまできた"); //出力されてない
|
66
|
+
var json = JSON.parse(e.postData.contents);
|
67
|
+
|
68
|
+
//返信するためのトークン取得
|
69
|
+
var reply_token= json.events[0].replyToken;
|
70
|
+
if (typeof reply_token === 'undefined') {
|
71
|
+
return;
|
72
|
+
}
|
73
|
+
|
74
|
+
//送られたメッセージ内容を取得
|
75
|
+
var message = json.events[0].message.text;
|
76
|
+
|
77
|
+
// メッセージを返信
|
78
|
+
var response = UrlFetchApp.fetch(line_endpoint, {
|
79
|
+
'headers': {
|
80
|
+
'Content-Type': 'application/json; charset=UTF-8',
|
81
|
+
'Authorization': 'Bearer ' + access_token,
|
82
|
+
},
|
83
|
+
'method': 'post',
|
84
|
+
'payload': JSON.stringify({
|
85
|
+
'replyToken': reply_token,
|
86
|
+
'messages': [{
|
87
|
+
'type': 'text',
|
88
|
+
'text': message,
|
89
|
+
}],
|
90
|
+
}),
|
91
|
+
});
|
92
|
+
|
93
|
+
// サンプル
|
94
|
+
try {
|
95
|
+
var rcode = response.getResponseCode();
|
96
|
+
var rbody = response.getContentText();
|
97
|
+
if (rcode !== 200) {
|
98
|
+
console.log("%d: %s", rcode, rbody); //出力されてない
|
99
|
+
}
|
100
|
+
} catch(e) {
|
101
|
+
console.log(e); //出力されていない
|
102
|
+
}
|
103
|
+
return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
|
104
|
+
}
|
105
|
+
```
|
106
|
+
##### 結果
|
107
|
+
```
|
108
|
+
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)
|
109
|
+
```
|
110
|
+
アクセストークンは再発行して最新のものに書き換えたので、問題ないと思いますが、何か手がかりがあれば教えていただけると嬉しいです。
|