urlopen завершается ошибкой с кодом 500 и ошибкой {"error_code":1,"error_msg":"Произошла неизвестная ошибка"}' от Facebook при публикации действия Open Graph. Я могу заставить код работать с другими сообщениями (например, публикация комментария к статусу с использованием графического API работает нормально). Я также могу заставить этот action-post работать с помощью curl. Таким образом, это похоже на проблему urllib2.urlopen при публикации данных формы с URL-адресом в качестве одного из значений.
Graph api post that works with curl :
curl -F 'access_token=nnnnnn' -F 'object=https://abc.com/123' \
'https://graph.facebook.com/me/namespace:action' -k
Same Graph api post thru urllib2 which gives the error :
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.fetch через модуль urlfetch python. Это тоже не сработало). Я использую это через движок приложения Google.