Facebook是否放弃了对Python的支持?

时间:2011-12-16 10:47:45

标签: python facebook pyfacebook

Python SDK似乎已从Github中删除。 https://github.com/facebook/python-sdk返回404。

他们是否已将开发移至其他地方,放弃了支持,或者这只是一个错误?开发者网站仍然链接到Github(参见https://developers.facebook.com/opensource/),但这并没有多大意义。

有人有克隆吗?

修改

我意识到API仍然可用,但这不是重点。许多第三方软件包依赖于SDK(如django-socialregistration)。删除存储库已经打破了所有这些(因为它通常是一个包需求),这反过来会破坏站点部署。

3 个答案:

答案 0 :(得分:2)

要回答克隆问题,是的:

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

这是昨天的最新消息。

答案 1 :(得分:1)

来自Facebook的回复

Facebook的官方回应是

  

我们更长时间支持或提供官方Facebook Python SDK。您可以找到几个非官方的Python SDK,或者您可以使用简单的urllib.urlopen直接调用Graph API。

来源:https://developers.facebook.com/bugs/200182333402545

答案 2 :(得分:0)

不,您可以使用urlread函数使用Facebook图形api。您需要做的就是使用Javascript从用户那里获取访​​问令牌,FB开发者网站上有文档。以下是如何使用URL lib函数

的示例


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)
相关问题