bot作りに精を出している今日このごろ、Facebookのfeedが更新されたら通知するbotを作ろうと思い、自分用のfeed取得SDKを作ったので使い方をまとめます。
今のところGetFeed
という関数しかないです。
Install
どちらも自作になってしまいますが、以下2つをgo get
します。
go get github.com/cipepser/bots go get github.com/cipepser/httpclient/sdk
アクセストークンの設定
Feedを取得するためには、アクセストークンが必要です。そのためにfacebook for developersでappを作成してください。
curlでFacebook API叩くまでがわりとめんどかったのでメモ - DRYな備忘録を参考にさせて頂きました。
appを作成するとアクセストークンがここから確認できます。
以下の黒く塗り潰している箇所のApp Token
です。
App Token
をコピーし、./token/facebook_api.json
に以下のように設定してください。
{ "access_token":"<YOUR APP TOKEN>" }
これで準備は完了です。
How to Use
URL
に取得したいfeedのURLを入力し、GetFeed(URL)
を実行するだけです。
package main import ( "github.com/cipepser/bots/facebook" ) func main() { URL := "https://graph.facebook.com/v2.11/<user name>/feed" f, err := facebook.GetFeed(URL) if err != nil { panic(err) } fmt.Println(f) }
結果(上記のf
)は、facebook
パッケージの中で定義している以下のFeed
型で返ってくるので、必要なものを利用できます。
type Feed struct { Data []struct { CreatedTime string `json:"created_time"` Message string `json:"message"` ID string `json:"id"` Story string `json:"story,omitempty"` } `json:"data"` Paging struct { Cursors struct { Before string `json:"before"` After string `json:"after"` } `json:"cursors"` Next string `json:"next"` } `json:"paging"` }
実装について
実装の中身はGithubにあげてあります。
access_token
を埋め込んで、HTTPでGETするだけなので、応用しやすいです。