3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LINE Messaging APIを使ったサービスをGoogle App Engineで構築するのに必要な下準備

Last updated at Posted at 2017-01-02

前提

個人レベルでWebサービスを提供する。
今回はどのようにすれば始められるのかを確認するためなので、テスト用途として登録する。
無料で実現できる範囲までとする。
Macbook OS X Elcapitanを使用。
Pythonで開発することを想定。バージョンは2.7。

$ gcloud --version
Google Cloud SDK 121.0.0
app-engine-python 1.9.38
bq 2.0.24
bq-nix 2.0.24
core 2016.08.05
core-nix 2016.08.05
gcloud 
gsutil 4.20
gsutil-nix 4.20

LINE Messaging APIの始め方

会社/事業者の登録

LINEに会社/事業者を登録する。
https://business.line.me/ja/services/bot

まず、「Developer Trialを始める」を選択する。
このプランは50人までしか登録できないが、それ以外の制約が無いプランなので、今回のようなテスト目的にちょうど良い。

会社/事業者を選択には、会社や事業者では無いので個人名で登録する。

  • アカウント名には「呼鈴TEST-DEV」
  • 業種には「個人」「個人(IT・コンピュータ)」
スクリーンショット 2017-01-02 12.14.42.png

以下、順に選択して進める。

  • 確認する
  • 申し込む
  • LINE@MANAGERへ

アカウントの作成

LINE@MANAGERでアカウントを作成する。
https://admin-official.line.me

Bot設定から、

  • 「APIを利用する」を選択。
  • Webhook送信は「利用する」を選択。

以下は、必要に応じて設定する。
今回は、Webhookを使って以下も対応させるので、「利用しない」に設定した。

  • 自動応答メッセージは「利用しない」
  • 友達追加時あいさつは「利用しない」

最後に「保存」を選択。

以上で、LINE Messaging APIが使えるようになる。

アカウントの設定

Channel Secret
32文字のコード。
右側の「SHOW」を選択して表示可能。
※今回は使用しないです。

Webhook URL
以下のURLを設定する。
https://yobirin-test-dev.appspot.com/line-receive
HTTPSであるのはLINEの仕様のため。
yobirin-test-dev.appspot.comはApp Engineが割り当てるURL。
line-receiveは、後でApp Engineで設定するWeb API。

Channel Access Token
172文字のコード。
右側の「ISSUE」を選択して発行。

ご参考:LINE API Reference

※今回は直接Web APIを使うので使用しませんでしたが。。

GAEの始め方

Google App Engineを始める。
https://console.cloud.google.com/

  • Google Cloud Platformの右にある下向き三角から「プロジェクトを作成」を選択。プロジェクト名には「yobirin-test-dev」
スクリーンショット 2017-01-02 12.26.24.png
  • サイドメニューから「App Engine」を選択。
  • 初めてのアプリへようこそ、の言語を選択から「Python」を選択。
スクリーンショット 2017-01-02 13.20.51.png
  • アプリのサービスを提供するロケーションは適当に選択。今回は「asia-northeast1」を選択。

「App Engine サービスを準備しています...」で1分ほど待たされ「さっそく始めましょう」が出れば完了。

※チュートリアルを実施するとgcloudの基本的な使い方が分かるので良いと思います。

gcloudをインストール

gcloudのインストールおよび設定には以下のページの「Cloud SDKのインストール」と「アカウントへの紐付け」の章が参考になります。
GCEの手順ですが、GAEでも同じです。最後のSSHが不要ですのでご注意ください。
http://qiita.com/kosuke_nishaya/items/3d9a95f559d0c22d8134

プロジェクトへの紐付け

ソースコードをプロジェクトを紐付けます。

ソースコードを配置するディレクトリを作成し、そこにソースを配置する。
今回はIFTTT-LINEのコードを使わせて頂くことにします。

git clone https://github.com/MypaceEngine/ifttt-line.git
mv ifttt-line yobirin-test-dev
cd yobirin-test-dev

LINEのChannel Access Tokenが空白なので設定する。

vi const.py

プロジェクトへの紐付けを開始するためのコマンドを実行

gcloud init

Pick configuration to use:
 [2] Create a new configuration
Please enter your numeric choice:  2

Enter configuration name: yobirin-test-dev 

Choose the account you would like use to perform operations for this 
configuration:
 [1] butadahitsuji@gmail.com
 [2] Log in with a new account
Please enter your numeric choice:  1

Pick cloud project to use: 
 [4] [yobirin-test-dev]
Please enter your numeric choice:  4

これで準備完了。

ソースコードのデプロイ

gcloud app deploy -v 1
Do you want to continue (Y/n)?  y

-vはバージョン指定。デプロイした環境は、バージョン管理によって残せます。
ただし15世代までしか残せないので、通常は-v 1のようにデプロイ先バージョンを
固定化して、常に上書きしておくと、古いバージョンを削除する手間を減らせます。

ERRORが出てこなければ大丈夫です。
Updating service に結構時間が掛かります。

butada$ gcloud app deploy -v 1
WARNING: Automatic app detection is currently in Beta
You are about to deploy the following services:
 - yobirin-test-dev/default/1 (from [/Users/butada/Programming/dashbutton_hackathon/ifttt-line/app.yaml])
     Deployed URL: [https://yobirin-test-dev.appspot.com]

Do you want to continue (Y/n)?  y

Beginning deployment of service [default]...
File upload done.
Updating service [default]...done.
Deployed service [default]

You can read logs from the command line by running:
  $ gcloud app logs read
To view your application in the web browser run:
  $ gcloud app browse

さいごに

以上で、LINE Messaging APIを使ったサービスをGoogle App Engineで構築するのに必要な下準備が完了です。
LINEアカウント(呼鈴TEST-DEV)をLINEアプリの友達追加から登録すれば、Webhookが呼ばれます。その際にReplyIdが引数として渡されるので、それを使ってReplyすることもできますし(Replyは発言に対して1回のみの制約あり)、その際にLineIdも引数として渡されるので、それを使ってPushすることもできます。

参考

LINE API Reference
https://devdocs.line.me/ja/#webhook-event-object

Google Cloud Platformをローカルから利用するための準備
http://qiita.com/kosuke_nishaya/items/3d9a95f559d0c22d8134

Google Cloud Platform - ログ
https://console.cloud.google.com/logs/viewer

Google Cloud Platform - データストア
https://console.cloud.google.com/datastore

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?