37
Google Apps Script で Facebook BOT ででで2016/5/18 Shoko Kondo Twitter: @shoko3168 Facebook: shoko3168

Facebook bot(20160518)

Embed Size (px)

Citation preview

Page 1: Facebook bot(20160518)

Google Apps Script でFacebook BOT を作る!

2016/5/18

Shoko KondoTwitter: @shoko3168Facebook: shoko3168

Page 2: Facebook bot(20160518)

自己紹介(近藤 祥子) XTREME DESIGN ( 技術秘書 ) Hackers Bar ( ハッカー ) ダイヤモンドメディア株式会社 ( エンジニア )

過去 : 証券、ソシャゲハカバくん:ハッカーズバー公式マスコット

Page 3: Facebook bot(20160518)

本日の流れ Bot おさらい GAS で学ぶサーバサイドプログラム Facebook 用 Bot をつくろう まとめ

Page 4: Facebook bot(20160518)

各 Bot 特性のおさらいFacebookBot

• 「 Facebook ページ」にキャラクターを紐付け

• Button 選択、 Receipt 出力が出来る

Slack Bot

• 「 /mobileoasis 」といったオリジナルコマンドも作成可能

• BOT のキャラクターを発信ごとに設定可能

Chatwork API

• 一方的に発信• リマインダー、

周知のような使い方

LINE Bot• 音声、動画、

位置情報といったメディア発信に強い

• スタンプでの会話

• メッセージ発信する際、事前登録した IP から送る必要がある

Page 5: Facebook bot(20160518)

今回作る Bot

ハカバくん

Page 6: Facebook bot(20160518)

Google Apps Script( 以下、 GAS) とは

・ Google のサービスを Javascript で操作・ Google アカウントだけがあれば誰でも使える

Page 7: Facebook bot(20160518)

早速作り始めます( 電源スポットを取得する GAS)

Page 8: Facebook bot(20160518)

モバイラーズオアシス http://oasis.mogya.co

m/blog/API 位置情報から

電源を使えるカフェ情報を JSON 形式で返してくれる 実行例 http://oasis.mogya.co

m/api/v0/search?n=35.668961&s=35.660961&e=139.732065&w=139.725065

モバイラーズオアシス API を使います

北 (N)

西 (W)東 (E)

南 (S)

Page 9: Facebook bot(20160518)

構成GAS(BOT サーバ )

APIFB ページ モユーザー モバイラーズオアシス

位置情報が来たらHTTP 200

URL をキック

Page 10: Facebook bot(20160518)

BOT サーバを作るGoogleドライブを開き、「Google Apps Script」 新規作成

キックするためのtestメソッドを書く(CやJavaで言うmainメソッドのような)メッセージ受信用のWebアプリを作る(Helloと表示されるだけ)

GAS の公開範囲に注意シークレットモードでテストすること

Page 11: Facebook bot(20160518)

コーディング例 (javascript)

Page 12: Facebook bot(20160518)

コーディング例 (javascript) – 続き

充電スポット取得

詰めかえて返却

Page 13: Facebook bot(20160518)

GAS で空の Web アプリを作ります

Page 14: Facebook bot(20160518)

GAS で Web 公開する際の注意点->GAS-> 公開 -> ウェブアプリケーションとして導入

Page 15: Facebook bot(20160518)

Web アプリケーションとして公開 (4)

Page 16: Facebook bot(20160518)

FacebookBOT 利用準備

Page 17: Facebook bot(20160518)

クイックスタートドキュメントhttps://developers.facebook.com/docs/messenger-platform/クイックスタートhttps://developers.facebook.com/docs/messenger-platform/quickstart

Page 18: Facebook bot(20160518)

アプリとページを作りますFacebook for Developers登録済の

Facebookアカウントが必要ハカバくんBOT

(電源スポット検索アプリ)

ハカバくん ( ページ )

Page 19: Facebook bot(20160518)

Facebook BOT 利用の流れテキスト、位置情報などのハンドリングをするプログラムを書く

テキストメッセージが来たら「位置情報を送ってね」と返すプログラムを書く位置情報が来たら、充電スポットを返すプログラムを書く

ログは随時Spreadsheet へ出力

Page 20: Facebook bot(20160518)

Facebook アプリの設定->Facebook Developer Site-> ハカバくんアプリページ -> プロダクト設定

Page 21: Facebook bot(20160518)

Callback 設定補足FB ページFB API

合言葉「 8063 」

8063

NodeJS の場合

GAS の場合

Page 22: Facebook bot(20160518)

FacebookBOT を作ろう

Page 23: Facebook bot(20160518)

Facebook メッセージ受信 (1)ログは随時

Spreadsheet へ出力

Page 24: Facebook bot(20160518)
Page 25: Facebook bot(20160518)

Facebook API が要求する形に合わせたリクエスト

Page 26: Facebook bot(20160518)

位置情報が入ってる場所全貌は公式ドキュメントに

List を Button に整形

Page 27: Facebook bot(20160518)
Page 28: Facebook bot(20160518)

ハカバくん

完成!

Page 29: Facebook bot(20160518)

注意点など

Page 30: Facebook bot(20160518)

注意点 1GAS(BOT サーバ )

APIFB ページ モユーザー モバイラーズオアシス

HTTP 200

Page 31: Facebook bot(20160518)

注意点 2GAS(BOT サーバ )

APIFB ページ モユーザー モバイラーズオアシス

HTTP 200

BOT サーバQueue

Page 32: Facebook bot(20160518)

注意点 3GAS(BOT サーバ )

APIFB ページ モユーザー モバイラーズオアシス

HTTP 200

BOT サーバQueue

Page 33: Facebook bot(20160518)

キューが必要な理由Queue BOT サーバ

Page 34: Facebook bot(20160518)

キューが必要な理由Queue BOT サーバ

Page 35: Facebook bot(20160518)

ログ出力イメージ

Page 36: Facebook bot(20160518)

オマケ 1二次会会場探し支援 BOT (充電スポットと併用)

Page 37: Facebook bot(20160518)

オマケ 2ゲームが出来る LINE BOT を昨日作りました。「とろろ人狼 Bot 」で検索http://toroneko.hatenablog.jp/entry/2016/05/17/175144

村狼 占

霊村

BOT

それぞれのLINE に配役通知

霊_

GM配役を全て知っているゲーム参加不可

6 人で遊ぶ場合

6 人で遊べる!