2011-05-08 42 views
1

如何使用Facebook Python SDK发布到Facebook?我试图使用做到这一点:Facebook Python SDK

self.Facebook = facebooksdk.GraphAPI(oauth_token) 
self.Facebook.put_object("me", "feed", message="Hello World.") 

这是我的回溯:

Traceback (most recent call last): 
File "epistle.py", line 559, in send 
self.Facebook.put_object("me", "feed", message="Hello World.") 
File "/home/logan/epistle/facebooksdk.py", line 124, in put_object 
return self.request(parent_object + "/" + connection_name, post_args=data) 
File "/home/logan/epistle/facebooksdk.py", line 177, in request 
response["error"]["message"]) 

facebooksdk.GraphAPIError: Bad signature 

谁能帮我想出解决办法?

回答

1

您是否正确获取oauth_token值?错误的签名表示SDK向Facebook签署了请求,但该令牌与Facebook的API服务器所期望的不匹配。当您从Facebook cookie中提取oauth_token(如果您使用Javascript SDK登录Facebook)或您的OAuth握手已正确执行时,我会检查您是否使用了正确的Facebook应用程序密钥和密码。

+0

有什么办法从重定向URL解析OAuth令牌吗? – loganfynne 2011-05-08 14:47:22

+0

Yep:你会得到一个代码(重定向看起来像这样:http:// YOUR_URL?code = A_CODE_GENERATED_BY_SERVER)。您需要拉取该参数,然后回拨以获取令牌(如下所示:https://graph.facebook.com/oauth/access_token? client_id = YOUR_APP_ID&redirect_uri = YOUR_URL& client_secret = YOUR_APP_SECRET&code = THE_CODE_FROM_ABOVE)并且会给您你想要的oauth标记。我老实说,没有在http://developers.facebook.com/docs/authentication/上详细说明这些问题。 – Femi 2011-05-08 15:06:59