我正在创建将图像上传和发布到用户墙上的 FB 应用程序,但我被困在了这一点上。我想在 FB 登台服务器上上传图片,因为我的服务器太小了。当我尝试使用此代码发布图像时
FB.api('/me/staging_resources?access_token='+access_token, 'post', {file: file_uri}, function(response) {
if (!response) {
alert('Error occurred.');
} else if (response.error) {
console.log('Error: ' + response.error.message);
} else {
console.log('File uri is ' + response.uri );
file_uri = response.uri;
}
});
其中 file_uri 是包含图像的 https 地址的变量,我经常收到错误"(#100) Invalid file. Expected file of one of the following types: image/jpg, image/jpeg, image/gif, image/png"
。我也从 Graph API Explorer 进行了测试,同样的错误。我尝试了一切,将 url 放入生成图像的文件,将直接 url 放入图像、http、https、来自其他站点的某些图像......总是相同的。有没有人对我有任何帮助,也许我错过了什么?
在此先感谢,尼古拉
编辑 - 解决方案
再次感谢 Jason,我成功获取了图像,如果有人遇到这个问题,解决方案是制作单独的 curl 文件,https://graph.facebook.com/me/staging_resources
使用图像的 url 和访问令牌调用,然后在 js 文件中进行简单调用
$.get('/curl.php?url='+image_url+'&access_token='+access_token,function(response){
console.log(response);
});