我试图通过来自ipad app的Graph api调用将图像上传到Facebook页面上的特定相册。一切都正常工作,Facebook的响应返回成功与id的帖子,但我只是看不到页面上传的图像。我正在使用Appcelerator Titanium这样做。以下是我的代码:
var fb = require('facebook');
fb.appid = 'MY APP ID';
fb.permissions = ['read_stream'];
function postImageToFb(){
fb.reauthorize(['publish_actions','manage_pages'], 'me', function(e){
if (e.success) {
// If successful, proceed with a publish call
var data = {
source: Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory+'/image.png').read(),
message: 'Hello pic'
}
fb.requestWithGraphPath('<album-id>/photos',data,'POST',function(e){
alert('Post to fb: '+JSON.stringify(e));
if(e.success){
alert('Photo submitted successfully to fb.')
}else{
alert('Failed to upload photo to fb: ')
}
})
} else {
if (e.error) {
alert(e.error);
} else {
alert("Unknown result");
}
}
});
}
$.btn_submit.addEventListener('click',function(e){
if(fb.loggedIn){
postImageToFb();
}else{
fb.authorize();
fb.addEventListener('login',function(e){
if(e.success){
postImageToFb();
}else{
alert('Failed to login fb: ',e);
}
})
}
})
我使用相同的帐户从应用程序创建Facebook应用程序,页面和Facebook登录,所以它不应该成为问题。可能是什么问题?有人能帮我吗。感谢。
答案 0 :(得分:1)
我永远无法使用requestWithGraphPath()来处理页面,即使页面具有访问令牌。它总是发布到页面墙,但作为我的个人资料。
看看我最终在这里做了什么(在个人资料说明下面是对网页的解释):https://stackoverflow.com/a/28144909/4121164