同様の質問などからいくつかの提案を試みましたが、どれも私の状況を助けませんでした。
私は Facebook.py Licensed under the Apache License in Google App Engine with Python ソリューションを使用しています。
私の有効なアクセストークンで作成されたGraphAPIオブジェクトがあります。App Engine のログに次のように表示されました。
Graph >>> facebook.GraphAPI object at 0x64cc19e10b2ceb90
そこで、GraphAPI オブジェクトを作成したら、
graph.put_object('Valid Facebook User ID', "feed",
message="Hello world", link="http://example.com")
これは次のようにエラーログをスローしています:
HTTP Error 400: Bad Request:
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 701, in __call__
handler.get(*groups)
File "/base/data/home/apps/s~/development.358229427391780612/handler/profile_handlers.py", line 401, in get
graph.put_object(self.user.user_id, "feed", message="Hello world", link="http://example.com")
File "/base/data/home/apps/s~/development.358229427391780612/facebook.py", line 129, in put_object
return self.request(parent_object + "/" + connection_name, post_args=data)
File "/base/data/home/apps/s~/development.358229427391780612/facebook.py", line 181, in request
file = urllib2.urlopen(graphUrl, post_data)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 124, in urlopen
return _opener.open(url, data)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 387, in open
response = meth(req, response)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 498, in http_response
'http', request, response, code, msg, hdrs)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 425, in error
return self._call_chain(*args)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 360, in _call_chain
result = func(*args)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 506, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request
最初は、添付ファイル (リンク、説明など) として多くの追加データを入れていました。ただし、アタッチメント要素を減らした後でも、同じエラーがスローされます。また、put_wall_post のメソッドを使用していました。代わりに put_object を使用することを提案する人もいます。
フォーラムで多くの検索を試みましたが、いくつかの提案の問題を解決できませんでした。
主な問題は何ですか?