接facebook的API本身沒什麼難度,甚至也不用知道背後的oauth流程,按照文檔的步驟就好
主要是因為中間被url本身的id騙了幾次,加上對粉專的一些資訊不熟悉要去哪裡看,所以才想記錄一下
本篇內容包含:
1.如何獲取粉絲專頁的發文權限
2.如何使用API進行發文
3.如何在發文底下留言
先進到meta for developers的頁面中,並且創建應用
點擊其他
點選企業商家
輸入你想取的應用程式名稱
建立後去圖形測試工具
在畫面的右邊,先選取正確的meta應用程式,用戶或粉絲專頁選擇用戶權杖
,權限的部分也要注意
如果要發文跟發留言,至少要有:
pages_manage_posts 權限
pages_read_engagement 權限
pages_manage_engagement 權限
pages_read_user_content 權限
7.這時候取得的是短期權杖
!期限只有一小時,最終我們的目的是取的粉絲專頁的長期權杖
區別與流程:
短期用戶權杖(期限1小時)->長期用戶權杖(期限60天)->粉絲專頁長期權杖(永久)
// GET方法
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&
client_id={{ 你的應用程式id }}&
client_secret={{ 你的應用程式密碼 }}&
fb_exchange_token={{ 你剛剛獲得的短期access_token }}
// 大括號不要真的打下去XD 只是代表這邊要放參數
應用程式的id以及密碼:
{
"access_token": "你的長期用戶access_token",
"token_type": "bearer",
"expires_in": 5179919 // 單位為秒,約60天
}
// GET方法
https://graph.facebook.com/{{ 粉絲專頁的id }}?
fields=access_token&
access_token={{ 你的用戶長期權杖 }}
粉絲專頁的id:
{
"access_token": "",
"id": ""
}
// POST方法
https://graph.facebook.com/{{ 粉專id }}/feed
?message={{ 你想發的內容 }}
&access_token={{ 粉專access_token }}"
// 發的內容不用特別用字串包起來也沒關係
{
"id": "{{ 文章id }}"
}
// POST方法
https://graph.facebook.com/{{ 剛剛拿到的文章id }}/comments
?message={{ 要留言的內容 }}
&access_token={{ 粉專access_token }}
// 發的內容不用特別用字串包起來也沒關係
{
"id": "{{ 留言id }}"
}
當然其他像是發布圖片、影片或是按照某個時間點發布也就是按照API的指示去發送請求,基本上都大同小異。只可惜發布貼文不能用API設定背景,或是知道怎麼用API設定背景的也可以在下方留言指正我~
那要做到自動發文,可以自己寫物件或是方法執行,不論是要用crontab還是screen加上python的schedule套件
因為這個方法不會太複雜,用docker應該不是很適合XD 除非能把image做得很小,但是我自己對dockerfile的理解不夠深,做出來的image都很肥,所以小方法就不會使用他
參考:
獲取權杖API: https://developers.facebook.com/docs/pages/access-tokens
粉專發布API: https://developers.facebook.com/docs/pages/publishing
請問相關權限好像都需要商家驗證,所以我要使用該API自動發文,是不是要先申辦公司行號...
這門檻好像太高了。