LINUX.ORG.RU

Переложить CURL скрипт на Python. Facebook graph api.

 , ,


1

2

Есть простенький curl скрипт, который апдейтит аватарку у facebook page.

curl \
-X POST \
-F "access_token=`groupACCESStoken" \
-F "source=@/Users/admin/Downloads/small.jpg" \ 
"https://graph.facebook.com/group_id/picture"
все работает как часы, только время не показывает.

Когда попробовал переложить это на Python, все рухнуло. Летят ексепшены, то access_token не тот, то url в source неправославный. В общем, любой request вылетает с 400 http code.
пробовал делать так:
import requests, json

avatar_url = "https://graph.facebook.com/{page_id}/picture".format(page_id=page_id)
payload = {'access_token': access_token,
           'source': image_file}
resp = requests.post(avatar_url, data=json.dumps(payload))

пробовал так:
import urllib2
req = urllib2.Request(avatar_url, payload)
resp = urllib2.urlopen(req)

В общем не догоняю, как сделать нормально.

Ответ на: комментарий от anonymous

зачем в джанго приложении юзать curl, если можно все это делать в питонячем коде?

foreigner_web
() автор топика

resp = requests.post(avatar_url, data=json.dumps(payload))

с какой радости делаешь JSON? Прочитай что написано в curl для -F. И вопрос на подумать номер два, а как получатель должен узнать что внутри JSON.

mashina ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.