0

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 の使用に関連しているのかは不明です。

4

2 に答える 2

0

user:agent をブラウザとして提供する必要がある場合があります。ある Web サイトでクローラーを実行しているときに、ブラウザーがクローラーを呼び出していないことを検出したため、同様のエラーが発生したことを覚えています。

于 2012-06-28T09:14:04.093 に答える
0

私はあなたのコードを実行して同じエラーを取得しました(ボディにこれ以上エラーはありません、コメントにそれを投稿したでしょうが、まだ私は推測できません)。

まだ行っていない限り、最初にスコアを公開する権限をアプリに付与する必要があると思います。http://developers.facebook.com/blog/post/539/を参照してください。

于 2012-06-29T04:52:18.820 に答える