Open Graph アクションを投稿すると、urlopen が 500 コードと Facebook からの「{"error_code":1,"error_msg":"不明なエラーが発生しました"}」エラーで失敗します。他の投稿で動作するコードを取得できます (たとえば、グラフ API を使用してステータスに関するコメントを投稿しても問題ありません)。curl を使用して、このアクション ポストを機能させることもできます。したがって、値の 1 つとして URL を使用してフォームデータを投稿する場合、これは urllib2.urlopen の問題のようです。
curl で動作するグラフ API の投稿:
curl -F 'access_token=nnnnnn' -F 'object=https://abc.com/123' \
'https://graph.facebook.com/me/namespace:action' -k
エラーを与える urllib2 を介して同じグラフ api ポスト:
from urllib2 import urlopen, Request, URLError
request = Request (url='http://graph.facebook.com/me/namespace:action';,
data = urllib.urlencode(
{'object':'https://abc.com/123',
'access_token':'nnnnnnnn'
},
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
)
response = urlopen (request)
私は何が間違っている可能性がありますか? (私はurllib2.urlopenを初めて使用します。ところで、もともとurlfetch pythonモジュールを介してurlfetch.fetchを試しましたが、どちらも機能しませんでした)。私はこれをgooleアプリエンジンで使用しています。