如何解决如何使用python从应用程序引擎向我的Facebook应用程序墙发布信息?
| 我有一个应用程序引擎Web应用程序,该应用程序希望自动将帖子写到我控制的Facebook应用程序的墙上(即每次在网站上发生特定事件时,我都想更新我的Facebook应用程序的墙上)。 该代码将从服务器上的延迟任务中调用。 我一直找不到任何解决此问题的方法。您的帮助将不胜感激。 我要做的第一件事是使用以下代码获取访问令牌:https://graph.facebook.com/oauth/access_token?client_id=FACEBOOK_APP_ID&client_secret=FACEBOOK_APP_SECRET&grant_type=client_credentials&scope=manage_pages,offline_access
使用返回的访问令牌,这就是我在服务器上运行的内容:
form_fields = {
\"access_token\": FACEBOOK_ACCESS_TOKEN,\"message\": tgText
};
form_data = urllib.urlencode(form_fields)
result = urlfetch.fetch(url=\"https://graph.facebook.com/MYAPP_FACEBOOK_ID/feed\",payload=form_data,method=urlfetch.POST,validate_certificate=False,headers={\'Content-Type\': \'application/x-www-form-urlencoded\'})
但是调用此操作会导致:
{\"error\":{\"type\":\"OAuthException\",\"message\":\"(#200) The user hasn\'t authorized the application to perform this action\"}}
解决方法
作为管理员,您可以使用OAuth授予对第三方应用程序(例如python应用程序)的访问权限,以发布到应用程序的配置文件页面(http://www.facebook.com/apps/application.php?id=YOUR_APP_ID) :
http://developers.facebook.com/docs/authentication/(部分页面登录)
收到访问令牌后,您应该可以按照以下说明将其发布到“应用资料页面”:
http://developers.facebook.com/docs/reference/api/post/(部分发布)
, 我有一个类似的应用程序。在获取访问令牌的过程中,Facebook可以更改您要提交的代码。我写了一个简单的网页,用隐藏的输入字段创建了一个表单,其中包含使Facebook与用户授权应用程序所需的数据(请参阅http://developers.facebook.com/docs/reference/dialogs/oauth/) 。
当用户单击“提交”按钮时,浏览器将使用适当的查询字符串对Facebook执行HTTP GET,在此提示Facebook用户登录(如果需要)并授权该应用。如果获得授权,Facebook将使用您可以存储在数据存储中的代码回叫您的redirect_url,以在需要时作为“给我访问令牌”流程的一部分进行检索。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。