ChatWorkのWebHookでGASのdoPostが動かなかった話

gasBackEnd

作ろうとしたアプリケーション

チャットワークの投稿をスプレットシートに書き足していく。

議事録変わりやメモなどスプレッドシートに保存する機能がほしくて思い立ちました。しかしいざ作ってみると連携がうまくいかなくて少し困った状況になりました。
その時の解決策です。

スポンサーリンク

問題までの手順

  1. GASでプロジェクトを作成する
  2. スクリプトにdoPostを記述。内容は割愛。
  3. アプリケーションとして公開しURLを取得する(公開範囲は全ユーザー )
  4. chatWorkのwebhookを新規登録
  5. 取得したURLを設定する
  6. 設定したルームで投稿する
  7. →変化なし(いまここ)

原因を探る

  1. チャットワークwebhookが動いていないのか
  2. GASスクリプトが動いていないのか

GASスクリプトを確認

  1. GASでプロジェクトを作成する
  2. スクリプトにdoPostを記述。内容は割愛。
  3. アプリケーションとして公開し、URLを取得する(公開範囲は全ユーザー )
  4. chatWorkのwebhookを新規登録
  5. 取得したURLを設定する
  6. 設定したルームで投稿する
  7. →変化なし(いまここ)

doPostをコールするテスト関数を作成
関数実行しスプレットシートに追加されることを確認
→スクリプトエラーではなさそう

チャットワークAPIがGASのdoPostをたたいているか確認

doPost内で強制的にスプレットシートに追加する処理をテストとして記述する。
→チャットワークで投稿→なにも起らない。(お前か)

チャットワークのwebookがdoPostをたたけていないことが濃厚
→アクセスできてなさそう(全ユーザーに公開したやろがいっ)

doGetで試してみる

doGet関数を記述する
パラメータをつけてブラウザからアクセスしてみる
「スクリプト関数が見つかりません:doGet」

真相究明

「公開」→「Project version:」をNewにしてデプロイすることで最新のコードが適応される

ついでに「全ユーザーに公開」から 「全ユーザーに公開(匿名を含む)」 に変更

  1. 最新の状態でデプロイする
  2. 公開権限を見直す

おしまい

コメント

タイトルとURLをコピーしました