我正在尝试通过Facebook javascript API批量上传照片。我读过API文档。(https://developers.facebook.com/docs/graph-api/reference/v2.0/page/photos https://developers.facebook.com/docs/graph-api/making-multiple-requests)
我通过以下javascript函数进行批量请求:
function batchUploadPhotoOnPage() {
var pageId = '111222333';
var pageAccessToken = 'xxxxyyyzzzzzzz';
FB.api(
'/',
'post',
{
'batch': [
{
'method': 'post',
'relative_url': pageId+'/photos',
'access_token': pageAccessToken,
'message': 'Test Upload Photos 1...'+new Date(),
'url': 'https://hn85599112.files.wordpress.com/2014/07/girl-photo.jpeg'
},
{
'method': 'post',
'relative_url': pageId+'/photos',
'access_token': pageAccessToken,
'message': 'Test Upload Photos 2...'+new Date(),
'url': 'http://www.paopaoche.net/up/2012-5/20125523231510353173.jpg'
}
]
},
function(response) {
log(response);
}
);
}但它总是会响应一条错误消息:
{
"error": {
"message": "(#324) Requires upload file",
"type": "OAuthException",
"code": 324
}
}我为此挣扎了很长一段时间,但还是想不通。如果你知道我哪里错了,请帮帮忙。非常感谢!T_T
发布于 2014-07-25 18:35:13
看看这个JSFiddle:http://jsfiddle.net/M8SPH/
确保添加您的app_id、page_id和page_access_token。
基本上,您忘记了必须添加一个body参数,并对其中的实际参数进行URL编码:
FB.api(
'/',
'POST',
{
access_token: pageAccessToken,
'batch': [
{
'method': 'POST',
'relative_url': pageId+'/photos',
'access_token': pageAccessToken,
'body': "message=Test Upload Photos 1...&url=https://hn85599112.files.wordpress.com/2014/07/girl-photo.jpeg"
},
{
'method': 'POST',
'relative_url': pageId+'/photos',
'access_token': pageAccessToken,
'body': "message=Test Upload Photos 2...&url=http://www.paopaoche.net/up/2012-5/20125523231510353173.jpg"
}
]
},
function(response) {
console.log(JSON.stringify(response));
}
);请参阅https://developers.facebook.com/docs/graph-api/making-multiple-requests#multiple_methods
https://stackoverflow.com/questions/24952380
复制相似问题