2012-07-16 25 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

相關問題