Python SDK似乎已从Github中删除。 https://github.com/facebook/python-sdk返回404。
他们是否已将开发移至其他地方,放弃了支持,或者这只是一个错误?开发者网站仍然链接到Github(参见https://developers.facebook.com/opensource/),但这并没有多大意义。
有人有克隆吗?
修改
我意识到API仍然可用,但这不是重点。许多第三方软件包依赖于SDK(如django-socialregistration)。删除存储库已经打破了所有这些(因为它通常是一个包需求),这反过来会破坏站点部署。
答案 0 :(得分:2)
答案 1 :(得分:1)
来自Facebook的回复
Facebook的官方回应是
我们更长时间支持或提供官方Facebook Python SDK。您可以找到几个非官方的Python SDK,或者您可以使用简单的urllib.urlopen直接调用Graph API。
答案 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)