图片已上传至Facebook但未在页面上显示

时间:2015-01-19 10:14:11

标签: ios facebook facebook-graph-api titanium image-uploading

我试图通过来自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登录,所以它不应该成为问题。可能是什么问题?有人能帮我吗。感谢。

1 个答案:

答案 0 :(得分:1)

我永远无法使用requestWithGraphPath()来处理页面,即使页面具有访问令牌。它总是发布到页面墙,但作为我的个人资料。

看看我最终在这里做了什么(在个人资料说明下面是对网页的解释):https://stackoverflow.com/a/28144909/4121164