我是Facebook页面的管理员,每天早上我可以通过Python脚本自动张贴URL和消息,持续几个月。
到目前为止,我已通过每日运行的Python脚本使用Facebook Graph API来实现此目的,它具有永不过期的具有 manage_pages 和 publish_pages 权限的页面访问令牌。为了获得这样的访问令牌,我遵循类似于this的描述。根据其步骤,我必须在https://developers.facebook.com/apps上创建一个应用程序。终于我成功了。
要自动发布到我的Facebook页面上的我的Python代码(包括永不过期的页面访问令牌)看起来类似于:
import urllib.request, urllib.parse
def fb_auto_post():
page_id = 'page_id_of_my_page'
page_access_token = 'never-expiring_page_access_token_of_my_page'
message = 'my_message' #(string) automatically generated by a previous function based on analyzing some daily data
link = 'my_link'
to_graph_API = 'https://graph.facebook.com/' + page_id + '/feed?message=' + urllib.parse.quote(message) + '&link=' + link + '&method=POST&access_token=' + page_access_token
urllib.request.urlopen(to_graph_API)
fb_auto_post()
此代码可以正常工作几个月,但是现在Facebook正在执行应用审查,我的应用失败了,并且没有获得 manage_pages 和 publish_pages 权限的批准需要继续在我的页面上自动发布。结果,由于我的页面访问令牌无权发布到我的页面,因此我无法再使用以上代码。
现在我被困住了,有两个问题:
我了解Facebook will no longer let apps automatically post to their users’ timelines or pages,因此我的应用程序未获得所需的权限。但是,如果我要自动发布的唯一页面是我自己的页面,是否有例外?例如,我在manual中找到了这句话:
“您的应用可能不需要请求这些权限,因为人们 已在您应用的信息中心中设置了角色。如果 在这种情况下,您无需提交应用进行审核。看到 “应用程序信息中心”中的“角色”标签。”
由于我是应用程序的管理员,也是我要发布到的唯一页面的管理员,我认为引用适合我的情况,但是我不知道如何实现其中描述的异常。 / p>
我创建应用程序的唯一原因是生成可以插入到我的Python代码中的长寿命页面访问令牌。有没有办法绕过使用Facebook App?例如,是否有可能每天早上通过Graph API自动生成短暂的页面访问令牌? (据我所知,短暂的页面访问令牌仍然具有mage_pages和publish_pages权限。)
很抱歉,问题描述很长,谢谢您的回答!
答案 0 :(得分:-1)
您可以创建第二个应用程序,而不是审核,临时使用,等待第一个应用程序被成功审核,切换到新的永久access_token