Python Request: Post Images on Facebook using Multipart/form-data -
i'm using facebook api post images on page, can post image web using :
import requests data = 'url=' + url + '&caption=' + caption + '&access_token=' + token status = requests.post('https://graph.facebook.com/v2.7/page_id/photos', data=data) print status
but when want post local image (using multipart/form-data) error : valueerror: data must not string.
i using code:
data = 'caption=' + caption + '&access_token=' + token files = { 'file': open(img_path, 'rb') } status = requests.post('https://graph.facebook.com/v2.7/page_id/photos', data=data, files=files) print status
i read (python requests: post json , file in single request) maybe it's not possible send both data , files in multipart encoded file updated code :
data = 'caption=' + caption + '&access_token=' + token files = { 'data': data, 'file': open(img_path, 'rb') } status = requests.post('https://graph.facebook.com/v2.7/page_id/photos', files=files) print status
but doesn't seem work, same error above.
guys know why it's not working, , maybe way fix this.
pass in data
dictionary:
data = { 'caption', caption, 'access_token', token } files = { 'file': open(img_path, 'rb') } status = requests.post( 'https://graph.facebook.com/v2.7/page_id/photos', data=data, files=files)
requests
can't produce multipart/form-data
parts (together files uploading) application/x-www-form-urlencoded
encoded string.
using dictionary post data has additional advantage requests
takes care of encoding values; caption
contain data must escape properly.
Comments
Post a Comment