質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Trello

Trelloは、無料のタスク管理ツール。タスクを1枚のカードとし、各進捗エリアごとで管理することができます。個人の利用や、複数人での共同作業を直感的且つ容易に行うことが可能です。PCはWebブラウザで、スマホはiPhoneとAndroidでそれぞれアプリが提供されています。

Q&A

0回答

236閲覧

TrelloAPI WebhookのcallbakUrl をGASのウェブアプリケーションURLを指定する方法

meguroYa

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Trello

Trelloは、無料のタスク管理ツール。タスクを1枚のカードとし、各進捗エリアごとで管理することができます。個人の利用や、複数人での共同作業を直感的且つ容易に行うことが可能です。PCはWebブラウザで、スマホはiPhoneとAndroidでそれぞれアプリが提供されています。

0グッド

0クリップ

投稿2023/06/19 02:09

実現したいこと・症状

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/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問