Facebook отказался от поддержки Python? - PullRequest
7 голосов
/ 16 декабря 2011

Python SDK, кажется, был удален из Github. https://github.com/facebook/python-sdk возвращает 404.

Они перенесли разработку куда-то еще, отказались от поддержки или это просто ошибка? Сайт разработчика по-прежнему ссылается на Github (см. https://developers.facebook.com/opensource/), но это не так много значит.

У кого-нибудь есть клон?

Редактировать

Я понимаю, что API все еще доступен, но это не совсем так. Многие сторонние пакеты зависят от SDK (например, django-socialregistration). Удаление репозитория нарушило все это (поскольку это часто является требованием к пакету), что, в свою очередь, нарушает развертывание сайта.

Ответы [ 3 ]

2 голосов
/ 16 декабря 2011

Чтобы ответить на вопрос о клоне, да:

https://github.com/flashingpumpkin/facebook-sdk-fork

Это недавно, как вчера.

1 голос
/ 11 января 2012

Ответ от Facebook

Официальный ответ от Facebook:

Мы дольше поддерживаем или предоставляем официальный SDK Python для Facebook.Вы можете найти несколько неофициальных SDK для Python или использовать простые вызовы urllib.urlopen непосредственно в Graph API.

Источник: https://developers.facebook.com/bugs/200182333402545

0 голосов
/ 16 декабря 2011

Нет, вы можете использовать api graph Facebook, используя функции urlread. Все, что вам нужно сделать, это получить токен доступа от пользователя с помощью Javascript, для этого есть документация на сайте разработчиков FB. Вот пример того, как использовать функции lib библиотеки URL



class Facebook(object):

    def __init__(self, auth_token):
        self.auth_token = auth_token

    def load(self, method, user_id = 'me'):
        raw = urlopen("https://graph.facebook.com/%s/%s/?access_token=%s" % (user_id, method, self.auth_token)).read()
        data = loads(raw)
        return data['data'] or []

    def with_fields(self, method, user_id = 'me', fields = 'name,likes'):
        raw = urlopen("https://graph.facebook.com/%s/%s/?fields=%s&access_token=%s" % (user_id, method, fields, self.auth_token)).read()
        data = loads(raw)
        return data['data'] or []

    def likes(self, user_id = 'me'):
        return self.with_fields('likes', user_id, 'name,category')

    def me(self):
        data = loads (urlopen("https://graph.facebook.com/me?fields=name&access_token=%s" % self.auth_token).read())
        return data or {}

    def expand(self, like):
        data = loads (urlopen("https://graph.facebook.com/%s?access_token=%s" % (like['id'], self.auth_token)).read())
        return data or {}

    def friends(self, user_id = 'me'):
        return self.load('friends', user_id)

    def movies(self, user_id = 'me'):
        return self.with_fields('movies', user_id)

    def music(self, user_id = 'me'):
        return self.with_fields('music', user_id)

    def picture(self, user_id='me', size=None):
        if size:
            return "https://graph.facebook.com/%s/picture?access_token=%s&type=%s" % (user_id, self.auth_token, size)
        return "https://graph.facebook.com/%s/picture?access_token=%s" % (user_id, self.auth_token)
...