Facebook 是否停止支持 Python?

7 投票
3 回答
842 浏览
提问于 2025-04-17 08:29

看起来Python的开发工具包在Github上被删除了。访问这个链接 https://github.com/facebook/python-sdk 会显示404错误,也就是找不到页面。

他们是把开发工作转到别的地方了,还是停止了支持,或者这只是个错误呢?开发者网站上还是链接到Github(见 https://developers.facebook.com/opensource/),但这并不代表什么。

有没有人有这个工具包的备份?

编辑

我知道API还是可以用的,但这并不是重点。很多第三方的包依赖这个开发工具包(比如django-socialregistration)。删除这个库导致这些依赖的包都不能用了,这样一来,就会影响到网站的部署。

3 个回答

0

不,你可以通过使用urlread函数来使用Facebook的图形API。你需要做的就是通过JavaScript从用户那里获取一个访问令牌,关于这方面的文档可以在Facebook开发者网站上找到。下面是一个如何使用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)
2

关于克隆的问题,答案是:是的。

你可以查看这个链接:https://github.com/flashingpumpkin/facebook-sdk-fork

这个信息是昨天最新的。

1

来自Facebook的回复

Facebook的官方回复是:

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

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

撰写回答