Подтвердить что ты не робот

Python - API Facebook - нужен рабочий пример

Хорошо, поэтому я googled вокруг, я нашел темы здесь, в stackoverflow, и я проверил официальную вики-страницу Facebook и.. и что не..

Теперь я надеюсь, что один из вас, ребята, сидит на примере кода API Facebook для Python. Это то, что у меня есть до сих пор, и все, что я получаю, это "Недопустимая подпись" через 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 официально объявил, что их собственный SDK Python мертв, и pyfacebook почти работает для меня, но не совсем.

Итак, пожалуйста, помогите.

4b9b3361

Ответ 1

Неофициальная версия python sdk все еще работает для меня.

Чтобы получить друзей, создайте токен доступа здесь: https://developers.facebook.com/tools/access_token/

Ограничения:

  • Для просмотра требуется токен доступа пользователя с правами user_friends текущие друзья.
  • Это приведет к возврату любых друзей, которые использовали (через Facebook Login) приложение, делающее запрос.
  • Если друг человека отклоняет разрешение 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