【问题标题】:Facebook publish HTTP Error 400 : bad requestFacebook 发布 HTTP 错误 400:错误请求
【发布时间】:2012-06-28 08:37:41
【问题描述】:

嘿,我正在尝试通过 python 的 urllib2 库将分数发布到 Facebook。

import urllib2,urllib

url = "https://graph.facebook.com/USER_ID/scores"
data = {}
data['score']=SCORE
data['access_token']='APP_ACCESS_TOKEN'
data_encode = urllib.urlencode(data)
request = urllib2.Request(url, data_encode)
response = urllib2.urlopen(request)
responseAsString = response.read()

我收到此错误:

   response = urllib2.urlopen(request)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 124, in urlopen
    return _opener.open(url, data, timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 389, in open
    response = meth(req, response)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 502, in http_response
    'http', request, response, code, msg, hdrs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 427, in error
    return self._call_chain(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 361, in _call_chain
    result = func(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 510, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 400: Bad Request

不确定这是否与 Facebook 的 Open Graph 或不当的 urllib2 API 使用有关。

【问题讨论】:

  • 错误正文中有什么内容?
  • 严重的是,错误正文中应该有来自 Facebook 方面的错误

标签: python facebook-graph-api urllib2 facebook-opengraph


【解决方案1】:

我运行了你的代码并得到了同样的错误(正文中没有更多错误,会在评论中发布但我猜还不能)所以我用谷歌搜索了“发布 facebook 分数”。

我相信您需要先授予您的应用发布分数的权限,除非您已经这样做了。见http://developers.facebook.com/blog/post/539/

【讨论】:

    【解决方案2】:

    您可能必须提供 user:agent 作为某些浏览器。我记得在某些网站上运行爬虫时遇到了类似的错误,因为它检测到没有浏览器在调用它。

    【讨论】:

    • 用于抓取网站,这可能是真的 - 但 FB Graph API 设计 是为了由服务器端脚本(以及其他脚本)查询,所以发送什么用户代理(或如果有的话)在这里根本不重要。
    猜你喜欢
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    相关资源
    最近更新 更多