【问题标题】:Python Urllib2.HTTP error: HTTP Error 400: Bad RequestPython Urllib2.HTTP 错误:HTTP 错误 400:错误请求
【发布时间】:2014-02-04 21:38:19
【问题描述】:

我有一段像这样调用 facebook API 的代码:

ID = str(cell.value) #ID comes from an excel spread sheet
data = json.load(urllib2.urlopen('http://graph.facebook.com/' + urllib.quote(ID) +'/comments?summary=true&limit=0'))
Comments_count = int(data.get("summary").get("total_count"))

但是,我在某些 URL 上遇到错误。

Traceback (most recent call last):
  File "FBS.py", line 50, in <module>
    data = json.load(urllib2.urlopen('http://graph.facebook.com/' + urllib.quote(ID) +'/comments?summary=true&limit=0'))
  File "C:\Python27\lib\urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 410, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 448, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 400: Bad Request

我已经尝试过使用 Urllib.quote(ID),但我仍然遇到同样的问题。

非常感谢任何帮助。

谢谢!!

【问题讨论】:

  • 关于什么 URL?这些 id 是什么?为什么你认为需要引用价值?
  • 这些 ID 是 Facebook ID。例如,450170755110703,就是graph.facebook.com/450170755110703/… 我之所以使用 urllib.quote 是因为我从另一个线程中读到它说它解决了某些人的问题。

标签: python facebook urllib2 urllib


【解决方案1】:

您需要将访问令牌传递给图形 api 以获取此信息。我建议你使用像this 这样的sdk 来访问graph api

【讨论】: