Q&A

オウム返しbotで返信がかえってきません

前提・実現したいこと

LINE Messaging APIとGoogle Apps Scriptを使ってオウム返しbotを作ろうとしたのですが、こちらの入力に対して返信が返ってきませんでした。以下の手順で行ったのですが間違っている原因がわかるかたがおられましたら教えていただきたいです。

手順

  1. lineDevelopersでチャネルを作成

  2. チャネルアクセストークンを発行し、GoogleAppScriptでコードを書く。

  3. コードを公開し、発行されたweb app URLをlineDevelopersのwebhookのurlの箇所に挿入。

  4. botを友達登録し、文字を送信する。

該当のソースコード

var CHANNEL_ACCESS_TOKEN = 'アクセストークン';

function doPost(e) {
  var replytoken= JSON.parse(e.postData.contents).events[0].replyToken;
  if (typeof replytoken === 'undefined') {
    return;
  }
  var user_message = JSON.parse(e.postData.contents).events[0].message.text;

  var url = 'https://api.line.me/v2/bot/message/reply';
  UrlFetchApp.fetch(url, {
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8',
      'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
    },
    'method': 'post',
    'payload': JSON.stringify({
      'replyToken': replytoken,
      'messages': [{
        'type': 'text',
        'text': user_message,
      }],
    }),
  });
  return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}

試したこと

・lineDevelopersで「webhookを使用する」の設定: オンにした ・プログラムのコードが間違っている: udemyの教材でコピペをするものなので間違っている可能性は低いと思われます。

補足情報(FW/ツールのバージョンなど)

・LINEのbotに言葉を送信すると既読は付きます。 ・他の方に質問したところ、正しいトークンの場合はオウム返しをしたようです。

  • 0
  • 1
  • 716
  • twitter facebook

エラーが発生しているかどうかは書いてください。助けようがありません。

コードは正しいという前提を置く場合、こちらの資料が参考になると思います。 https://developers.line.biz/ja/docs/messaging-api/building-bot/#page-title

教材とは異なり公式ドキュメントは常に最新の情報が書かれているため、困った時は公式ドキュメントを読む/探すといいと思います。

  • 0
Are you sure? question.vm