我正在使用 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
I read (Python 请求:在单个请求中发布 JSON 和文件 https://stackoverflow.com/questions/19439961/python-requests-post-json-and-file-in-single-request/19440099#19440099)也许无法在多部分编码文件中发送数据和文件,所以我更新了我的代码:
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
但这似乎不起作用,我得到了与上面相同的错误。
你们知道为什么它不起作用吗?也许有办法解决这个问题。