Facebook Graph API:400获取用户数据时的错误请求

时间:2011-04-27 17:53:46

标签: python facebook-graph-api

我正在制作一个页面,显示活动的详细信息,以及已注册有兴趣参加该活动的任何用户的详细信息。我正在使用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和access_token,所以我不明白这里出了什么问题。是否不可能将其他Facebook用户的图片和用户名与当前登录的用户区分开来?

相关问题