2012-07-16 22 views
39

好了,所以我用Google搜索左右,我在这里找到线程在计算器和我检查的官方Facebook和维基..和什么不可以..Python的 - Facebook的API - 需要一个工作示例

我现在希望你们中的一个人坐在Facebook的API示例代码中。 这是我到目前为止得到了所有我得到的是“无效的签名”通过PyFacebook这似乎是一个死的项目:

from facebook import Facebook 

api_key = '123456789______' 
secret = '<proper secret key>' 
OTK = 'XXXXX' # <-- You get this from: https://www.facebook.com/code_gen.php?v=1.0&api_key=123456789______ 
long_term_key = None 

fb = Facebook(api_key, secret) 

def generate_session_from_onetime_code(fb, code): 
    fb.auth_token = code 
    return fb.auth.getSession() 
if not long_term_key: 
    long_term_key = generate_session_from_onetime_code(fb, OTK)['session_key'] 
    print 'Replace None with this in the .py file for long_term_key:' 
    print long_term_key 

fb.session_key = long_term_key 
fb.uid = 000000001 # <-- Your user-id 
fb.signature = api_key # <-- This doesn't work at all, MD5 of what? 
#fb.validate_signature(fb) # <-- doesn't work either, prob need to pass MD5 handle? 
print fb.friends.get() # <-- Generates "Invalid Signature" 

“所有”,我想,就是要找回我的好友列表现在, 如果有一个更好的API指向我正确的方向,但Facebook已经正式宣布自己的Python SDK死了,pyfacebook几乎为我工作,但不完全。

所以,请帮助。

+1

这里有一个教程,显示如何一步一步使用Python的社会身份验证登录到Facebook,谷歌和Twitter:http://www.artandlogic.com/blog/2014/04/tutorial-adding-facebooktwittergoogle-authentication-to-a-django-application/ – orlenko 2014-04-18 22:27:38

+1

试试这个 [fb 0.2.0。](https://pypi.python.org/pypi/fb/ 0.2.0)一个重量轻但非常全面的facebook python sdk详细解释如何使用 – 2013-08-12 21:57:10

回答

65

unofficial fork of the python sdk对我来说仍然很好。

要检索你的朋友,这里的令牌生成访问: https://developers.facebook.com/tools/access_token/

限制:与user_friends许可

  • 用户访问令牌才能查看 当前人的朋友。
  • 这将只返回任何使用过(通过Facebook登录)发出请求的应用的朋友。
  • 如果该人的朋友拒绝了user_friends权限,该朋友将不会出现在该人的朋友列表中。

代码

import facebook 

token = 'your token' 

graph = facebook.GraphAPI(token) 
profile = graph.get_object("me") 
friends = graph.get_connections("me", "friends") 

friend_list = [friend['name'] for friend in friends['data']] 

print friend_list 
+1

谢谢!这工作就像瑞士的发条! – Torxed 2012-07-17 14:51:33

+0

我用这个代码和Facebook的朋友被抓取,但并非所有的朋友都来了。很可能没有个人资料图片的朋友不会被抓取。为什么? – 2013-02-18 10:51:27

+3

它被称为分页结果,这是他们在发布这个问题后开始的。每个搜索结果都是“分页”,这意味着您可以从250中获得1-100个结果,下一个获取是101-200,接下来是201-250。 – Torxed 2013-03-11 18:36:59

相关问题