要使用php sdk做粉絲團自動貼文步驟如下:
步驟1.取得app_id與app_secret
上https://developers.facebook.com/開一個app,之後會有app_id與app_secret。
步驟2.取得access_token
要讓應用程式取得使用者(粉絲團擁有者)的權限,也就是讓應用者能代替使用者貼文,這需要先取得access_token,因為之後會需要拿到page_tokens。
可以從這裡拿到:https://developers.facebook.com/tools/explorer。進去這個頁面後,Application點選剛剛開的應用程式,然後右邊點選get_page_tokens。之後就可以拿到上方的access_token。
步驟3.取得貼文權限
除了有access_token之外,還要讓使用者帳號授權給應用程式,所以通常需要寫個程式,透過登入(login dialog)來取得。而應用程式需要有以下權限:manage_pages與publish_pages。詳細說明可以看facebook官網。
步驟4.取得long_lived_token
1.當使用者同意後,應用程式就有權限可以代替使用者貼文。不過透過第二步驟取得的access_token是short_lived_token,也就是只能用一個小時就沒用了。
如果我們要長期貼文,就需要取得long_lived_token。關於這部分的說明,可以看facebook說明頁面。
2.基本上取得的步驟,可以從這個網址:
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=aaa&client_secret=bbb&fb_exchange_token=ccc
3.上述aaa,bbb,ccc分別代表剛剛取得的app_id、app_secret、access_token。之後頁面會顯示一行字串,上面的access_token就是long_lived_token。要看是不是真的可以用兩個月,可以到以下網址:
https://developers.facebook.com/tools/debug/accesstoken?q=long_lived_token
4.有了long_lived_token之後,就要將它存到db,隨時取用,然後在兩個月內,透過上述步驟,定期手動更新,才不會過期。
步驟5.寫php程式
1.先用composer把php sdk裝起來。通常會在程式碼加入以下片段:
require_once '../vendor/autoload.php';
只要確定有load進來即可。
2.記得宣告
use Facebook; use FacebookFacebookRequest;
3.貼文的短程式碼範例
$fb = new FacebookFacebook([ 'app_id' => 'app_id', 'app_secret' => 'app_secret', 'default_graph_version' => 'v2.2', ]); $linkData = [ 'message' => $message ]; $response = $fb->post('/facebook_fanpage_id/feed', $linkData, $longLivedToken);
facebook_fanpage_id就是粉絲團的專屬id,上面要的資料、參數都有了,接下來就可以自動透過程式貼文到粉絲團上了。
步驟6.寫成cron
透過上述步驟,應該可以順利自動貼文了,最後再寫成cron,就可以定期貼文,後端程式碼依個人需求自行設計。
相關文章:
1.How to post into a Facebook Page with PHP using Graph API
2.https://developers.facebook.com/docs/php/howto/example_post_links/5.0.0
3.access_token 官方說明頁面。