Facebook Graph API:获取用户数据时出现400错误

0 投票
1 回答
2890 浏览
提问于 2025-04-16 16:32

我正在制作一个页面,用来显示一个活动的详细信息,以及任何对参加这个活动感兴趣的用户的详细信息。我使用的是Facebook的Python-SDK(https://github.com/facebook/python-sdk),并且我已经顺利获取了当前登录用户的访问令牌。不过,当用户访问这个活动详情页面时,我希望他们能看到参与这个活动的用户的名字和头像。我用这段代码来填充用户列表:

for liftoffer in self.liftoffers:
            if (liftoffer.user.key() == dbuser.key()):
                self.hasliftoffer = True
                self.template_values['myliftoffer'] = liftoffer
            logging.warn("Request: fbuser = graph.get_object(%s, fields=\"name, picture, username\")" % str(liftoffer.user.fbid))
            logging.warn("access_token: %s" % self.current_user.access_token)
            fbuser = graph.get_object(str(liftoffer.user.fbid), fields="name, picture, username")
            newuser = ListUser(fbuser['name'], fbuser['picture'], fbuser['username'], liftoffer.user.key())
            self.drivers.append(newuser)

在这之前,我已经通过以下代码定义了图形:

graph = facebook.GraphAPI(self.current_user.access_token)

我遇到的错误是:

ERROR    2011-04-27 17:45:42,007 __init__.py:427] HTTP Error 400: Bad Request
Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 634, in __call__
    handler.get(*groups)
  File "/Users/wadben/Documents/Dev/Python/facebook-python-sdk-322930c/examples/oauth/sp-oauth-local/sparewheels.py", line 83, in get
    self.get_secure()
  File "/Users/wadben/Documents/Dev/Python/facebook-python-sdk-322930c/examples/oauth/sp-oauth-local/sparewheels.py", line 485, in get_secure
    fbuser = graph.get_object(str(liftoffer.user.fbid), fields="name, picture, username")
  File "/Users/wadben/Documents/Dev/Python/facebook-python-sdk-322930c/examples/oauth/sp-oauth-local/facebook.py", line 88, in get_object
    return self.request(id, args)
  File "/Users/wadben/Documents/Dev/Python/facebook-python-sdk-322930c/examples/oauth/sp-oauth-local/facebook.py", line 172, in request
    urllib.urlencode(args), post_data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 121, in urlopen
    return _opener.open(url, data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 380, in open
    response = meth(req, response)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 491, in http_response
    'http', request, response, code, msg, hdrs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 418, in error
    return self._call_chain(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 353, in _call_chain
    result = func(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urllib2.py", line 499, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request

日志显示请求中包含了有效的Facebook ID和访问令牌,所以我不明白问题出在哪里。难道除了当前登录的用户之外,无法获取其他Facebook用户的头像和用户名吗?

1 个回答

1

这是一个链接,指向Google App Engine的一个问题页面。你可以点击这个链接查看具体的问题和讨论内容,了解更多关于Google App Engine的相关信息。

撰写回答