LoginSignup
13
5

More than 1 year has passed since last update.

日本語を英訳して返してくれるLineBotを作る【個人開発】

Last updated at Posted at 2022-10-16

LINE for Businessの設定

01.png

  1. LINE for Business にアクセスし、 アカウントの開設(無料) を押下する
    • アカウントお持ちの方は ログイン を押下する
      02.png
  2. LINE公式アカウント開設(無料) を押下する
    03.png
  3. LINE アカウントでログイン を押下する。(その後の設定省略)
    04.png
  4. 応答モード: を押下し、 設定 > 応答設定 > 基本設定 を開く
    • 応答モード を Botに設定
    • Webhook を オンに設定
      05.png
  5. ホーム > トークルーム管理 > あいさつメッセージ を設定する(※ LINE追加時のメッセージ)
    06.png
  6. 応答モード: を押下し、 設定 > Messaging APIMessaging APIを利用する ボタンを押下する
    07.png
  7. プロバイダー名 を入力して 同意する を押下する
    08.png
  8. OK を押下する
    09.png
  9. Channel IDChannel secret が表示されれば成功
  10. LINE Developers にアクセスする

LINE Developersでチャネルアクセストークンを発行する

16.png

  1. コンソール を押下する
    17.png
  2. Messaging API設定 > チャネルアクセストークン再発行 ボタンを押下する
    • 初回時は 発行 ボタンを押下する
  3. 生成されたチャネルアクセストークンをコピーする

Apps Scriptでコード作成

※ googleアカウントが必要です。

18.png

  1. Start Scripting を押下する
  2. googleアカウントにログインする
    11.png
  3. 新しいプロジェクト を押下する
    13.png
  4. プロジェクト名とファイル名を任意の名前に変更する
    • プロジェクト名google_translate_api
    • ファイル名main.gs
  5. main.gs(作成したファイル) を以下のコードに置き換える
main.gs
function doPost(e) {
  var replyToken= JSON.parse(e.postData.contents).events[0].replyToken;
  if (typeof replyToken === 'undefined') {
    return;
  }

  var message = 'メッセージは文章で送ってください。';
  var url = 'https://api.line.me/v2/bot/message/reply';
  var channelToken = '【チャネルアクセストークン】';
  
  var input = JSON.parse(e.postData.contents).events[0].message;
  
  if(input.type == 'text') {
    message = LanguageApp.translate(input.text, 'ja', 'en');
  }

  var messages = [{
    'type': 'text',
    'text': message,
  }];

  UrlFetchApp.fetch(url, {
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8',
      'Authorization': 'Bearer ' + channelToken,
    },
    'method': 'post',
    'payload': JSON.stringify({
      'replyToken': replyToken,
      'messages': messages,
    }),
  });
  return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}

14.png
6. デプロイ > 新しいデプロイ を押下する
15.png
7. 以下のように入力し、 デプロイ を押下する

  • 新しい説明文:test(任意)
  • 次のユーザとして実行:自分(メールアドレス)
  • アクセスできるユーザー:全員
    20.png
    8.URL をコピーする

LINE Botテスト

10.png

  1. LINE Developers の Messaging API設定 > チャネルアクセストークン > Webhook URL にApps ScriptのURLを入力する
    21.png
  2. QRコードからLINE Botの登録を行う
    22.png
  3. 英訳して返信されたら成功

GitHub

参考文献

13
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5