実現したいこと・症状
trello apiを活用してwebhookを作成したい
callbackUrlにGASのウェブアプリURLを指定しているが、403または302が返されてしまう(200にならない)
3ヶ月前には、一度別のGoogleアカウントで成功したが、今回は何度実施してもうまくいかない
教えて欲しいこと
1、GASで、HTTP HEADリクエストに200を返す方法
2、上記1ができない場合、GASで作成するウェブアプリURL(https://script.google.com/macros/s/AKf*****/exec )に飛んでくるリクエストを、プロキシサーバーなどで代理応答する方法はないのでしょうか?(当方はプロキシサーバーなど作成経験は皆無です。知識レベルはプロキシサーバーの名前は知っている程度のリテラシーとご理解ください。)
詳細
POSTMANでも、GASでfetchのスクリプトを記述しても、いずれの場合もうまくいかず。
下記はPOSTMANでのPOST記述内容
https://api.trello.com/1/webhooks/?callbackURL=https://script.google.com/macros/s/AKf*****/exec&idModel=64****&key=fa*****&token=AT******&description=説明内容記述
GASでのスクリプト
function createWebhook(){ var trelloKey = TRELLO_API_KEY; var trelloToken = TRELLO_API_TOKEN; var callbackUrl = "https://script.google.com/macros/s/AKf*****"; var boardId = "64*****"; var requestUrl = `https://api.trello.com/1/webhooks/?callbackURL=${callbackUrl}&idModel=${boardId}&key=${trelloKey}&token=${trelloToken}&description=説明内容記n` requestUrl = encodeURI(requestUrl) var options = { 'headers ': { "Content-Type": "application/json" }, 'method' : 'post', "muteHttpExceptions" : true, } Logger.log(UrlFetchApp.fetch(requestUrl, options)); }
"https://script.google.com/macros/s/AKf*****"; のスクリプトは下記の通りです
function doGet(e) { return handleRequest(e); } function doPost(e) { return handleRequest(e); } function handleRequest(e) { return ContentService.createTextOutput('OK') .setMimeType(ContentService.MimeType.TEXT); }
GAS("https://script.google.com/macros/s/AKf*****" )の公開設定を「全員」のとき
{
"message": "URL (https://script.google.com/macros/s/AKf****/exec ) did not return 200 status code, got 403",
"error": "VALIDATOR_URL_RETURNED_ERROR"
}
GAS("https://script.google.com/macros/s/AKf*****" )の公開設定を「自分のみ」のとき
{
"message": "URL (https://script.google.com/macros/s/AKf****/exec ) did not return 200 status code, got 302",
"error": "VALIDATOR_URL_RETURNED_ERROR"
}
ブラウザで直接、「https://script.google.com/macros/s/AKf****/exec 」のURLを開くと、リダイレクトされてからOKが表示されるので、URLそのものは動いていると理解しています。
試したこと
この辺りの記事を参考にしました。
3ヶ月前ぐらいに別アカウントで実施した際には、際には、GASでデプロイする方法を変更しただけで、成功しましたが、今回はまるでうまくいかない状態です。
https://hitoriit.blog/archives/34
改めて以前200で成功したGoogleアカウントで実施しても上記と同様に200が出なくなりました。
Trelloの下記のドキュメントを確認しました。
https://developer.atlassian.com/cloud/trello/guides/rest-api/webhooks/
TrelloからcallbackUrlのチャックをする場合は、HTTP HEADリクエストだと理解してます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー