Tornado中有Facebook OAuth2模块,但我不明白它背后的想法:该示例将从我的墙上获取“流”,但是因为我想看看如何使用Tornado在 wal 上发布,我找到了另一个 Python 模块,但是这个不使用OAuth,但需要另一个密钥:一个Token,当我去Facebook并生成它时,它给了我两个应用程序:我从 Tornado 创建的一个,第二个是“Graph API Explorer " 这让我可以在 "Extended Permission" 中生成一个长密钥,但我仍然无法在我的Facebook Wall 上发帖。
更新:这是与 Python-Facebook 模块一起使用的代码:
import facebook
graph=facebook.GraphAPI("____")
profile = graph.get_object("me")
graph.put_object("me", "feed", message="I am writing on my wall!")
print profile
并给我这个错误:
facebook.GraphAPIError: Error validating access token: This may be because the user logged out or may be due to a system error.
Update2:它有效,看来我必须等待一段时间才能验证将令牌保存在他们的数据库中?
所以我的问题仍然是:Tornado 中的 Token 和 OAuth Acces 有什么区别。因为我计划在每次应用程序更新到 Facebook 用户时使用通知(将更新发布在页面的墙上以供该页面的用户看到)
更新3:Facebook似乎不允许在一段时间内发布多个帖子,否则我收到错误消息:
Traceback (most recent call last):
File "C:\Users\toto\Desktop\tooooooooooorfacebook.py", line 5, in <module>
graph.put_object("me", "feed", message="this is a test")
File "C:\Python27\lib\site-packages\facebook.py", line 140, in put_object
post_args=data)
File "C:\Python27\lib\site-packages\facebook.py", line 298, in request
raise GraphAPIError(response)
facebook.GraphAPIError: (#506) Duplicate status message