【发布时间】:2016-07-28 10:30:31
【问题描述】:
我正在使用 facebook API 在页面上发布图片,我可以使用以下方式从网络上发布图片:
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
但是当我想发布本地图像(使用 multipart/form-data)时,我得到了错误:ValueError: Data must not be a string.
我正在使用此代码:
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
我读到 (Python Requests: Post JSON and file in single request) 可能无法在多部分编码文件中同时发送数据和文件,所以我更新了我的代码:
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
但这似乎不起作用,我得到与上述相同的错误。
你们知道为什么它不起作用吗,也许有办法解决这个问题。
【问题讨论】:
标签: python facebook python-requests multipartform-data