Facebook粉专自动发文以及留言API

接facebook的API本身没什么难度,甚至也不用知道背后的oauth流程,按照文档的步骤就好
主要是因为中间被url本身的id骗了几次,加上对粉专的一些资讯不熟悉要去哪里看,所以才想记录一下

本篇内容包含:
1.如何获取粉丝专页的发文权限
2.如何使用API进行发文
3.如何在发文底下留言

如何获取粉丝专页的发文权限

先进到meta for developers的页面中,并且创建应用
http://img2.58codes.com/2024/201618660w20MPXxzm.png

点击其他
http://img2.58codes.com/2024/20161866kTd76w8u7v.png

点选企业商家
http://img2.58codes.com/2024/201618661YUn0G4ocp.png

输入你想取的应用程式名称
http://img2.58codes.com/2024/20161866PTyjMR8Evi.png

建立后去图形测试工具
http://img2.58codes.com/2024/20161866W7HcZ9pgCY.png

在画面的右边,先选取正确的meta应用程式,用户或粉丝专页选择用户权杖,权限的部分也要注意
如果要发文跟发留言,至少要有:

pages_manage_posts 权限pages_read_engagement 权限pages_manage_engagement 权限pages_read_user_content 权限
http://img2.58codes.com/2024/20161866kcWngQ1jOB.png

7.这时候取得的是短期权杖!期限只有一小时,最终我们的目的是取的粉丝专页的长期权杖
区别与流程:

短期用户权杖(期限1小时)->长期用户权杖(期限60天)->粉丝专页长期权杖(永久)
用api取得用户长期权杖
// 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以及密码:
http://img2.58codes.com/2024/20161866NRdQjJixS5.png

成功的话会返回以下json
{    "access_token": "你的长期用户access_token",    "token_type": "bearer",    "expires_in": 5179919 // 单位为秒,约60天}
拿这个access_token去拿粉丝专页的永久权杖
// GET方法https://graph.facebook.com/{{ 粉丝专页的id }}?  fields=access_token&  access_token={{ 你的用户长期权杖 }}

粉丝专页的id:
http://img2.58codes.com/2024/20161866oRasE666F6.png

成功的话返回以下json
{  "access_token": "",  "id": ""}

发文

使用API发文
// POST方法https://graph.facebook.com/{{ 粉专id }}/feed  ?message={{ 你想发的内容 }}  &access_token={{ 粉专access_token }}"   // 发的内容不用特别用字串包起来也没关係
通常失败就是代表你没有权限或是你的access_token不是正确的,如果成功的话会获得
{    "id": "{{ 文章id }}"}

留言

使用API发文
// POST方法https://graph.facebook.com/{{ 刚刚拿到的文章id }}/comments  ?message={{ 要留言的内容 }}  &access_token={{ 粉专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


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章