FACEBOOK JS SDK ::如何在墙上发布图像

时间:2010-07-29 10:26:15

标签: javascript facebook

我试图将图像发布到我的用户的Facebook墙上,一旦他们点击了按钮

我正在使用javascript SDK,但我有一个问题,图片看起来像墙上的链接......但那不是我想要的...我想张贴图片...就像你放的时候一样状态文本字段上的图像链接,它将变为图像

任何帮助?

FB.ui(
           {
             method: 'stream.publish',
             message: 'test',
             attachment :{ 
                    'name': 'i\'m bursting with joy', 
                    'href': ' http://bit.ly/187gO1', 
                    'caption': '{*actor*} rated the lolcat 5 stars', 
                    'description': 'a funny looking cat', 
                    'properties': { 
                        'category': { 'text': 'humor', 'href': 'http://bit.ly/KYbaN'}, 
                        'ratings': '5 stars' 
                    }, 
                    'media': [{ 
                            'type': 'image', 
                            'src': 'http://icanhascheezburger.files.wordpress.com/2009/03/funny-pictures-your-cat-is-bursting-with-joy1.jpg', 
                            'href': 'http://bit.ly/187gO1'}] 
                        },
             user_message_prompt: 'Share your thoughts about Connect'
           },
           function(response) {
             if (response && response.post_id) {
               alert('Post was published.');
             } else {
               alert('Post was not published.');
             }
           }

2 个答案:

答案 0 :(得分:13)

尝试FB.api()方法:

var wallPost = {
    message : "testing...",
    picture: "http://url/to/pic.jpg"
};
FB.api('/me/feed', 'post', wallPost , function(response) {
  if (!response || response.error) {
    alert('Error occured');
  } else {
    alert('Post ID: ' + response);
  }
});

您可以获得支持的墙邮政索引列表here(请参阅“发布”)。

答案 1 :(得分:12)

要在用户墙上发布图像,请使用FB.api('/ me / photos',...)而不是FB.api('/ me / feed',...),此外还需要访问令牌。

附件是代码示例:

FB.login(function(response) {
    if (response.authResponse) {
        var access_token =   FB.getAuthResponse()['accessToken'];
        FB.api('/me/photos?access_token='+access_token, 'post', { url: IMAGE_SRC, access_token: access_token }, function(response) {
            if (!response || response.error) {
                //alert('Error occured: ' + JSON.stringify(response.error));
            } else {
                //alert('Post ID: ' + response);
            }
        });
    } else {
        //console.log('User cancelled login or did not fully authorize.');
    }
}, {scope: 'publish_stream'});

在朋友页面上发帖:输入朋友的facebook用户ID代替“/ me”。

"/"+friends_user_id+"/photos" ....