用javascript api在我的墙上发布一个大图像

时间:2012-06-19 08:20:35

标签: facebook

我试图从我的应用程序中将图像发布到我的墙上。我希望图像看到它的原始尺寸,而不是像一张小图片。

我尝试了两种方法,但它不起作用。

FB.ui(
    {
    target_id:'ID',
    method: 'stream.publish',
    access_token:accessToken,
    attachment: {
        name: 'test name',
        caption: 'Caption here.',
        description: 'description here',
        href: 'http://facebook.com/mysite',
        media: [{'type': 'image', 'src': pic,  width: '150', height: '120', 'href': 'MY_SITE'}]
        },
    message: '',
    },
    function(response) {
        if (response && response.post_id) {
            alert('Post was published.');
        } else {
           console.log(response);
           alert('Post was not published.');
        }
    }
);

这会在我的墙上张贴图片,但这是一张小图片。我试图将图像发布到我的相册中:

FB.api('me/photos', 'post',
    { 
    url:'MY_URL',
    href:'MY_LINK,
    message: 'photo description',                
    access_token:accessToken
    },
    function(response) {
        console.log(response);
        if (!response || response.error) {
            alert('Error occurred');
        } else {
            alert('Post ID: ' + response.id);
        }
});

但是我的墙上没有显示图像。它在我的相册中,但我需要点击“批准照片”。点击后,它会显示在我的墙上。

我的问题是:如果我使用第一个代码,是否有图像以原始尺寸显示的方式?

如果我使用第二个代码,如何让它从我的相册中自动发布到我的墙上?

3 个答案:

答案 0 :(得分:1)

对“我/照片”发帖后,会为您的应用创建一个新相册并在那里发布照片。你可以考虑创建一个新专辑或上传到现有专辑,让Facebook处理新闻提要中的朋友看到​​的照片大小。看看这篇描述你需要的博客文章。这是一个php示例,但API调用在JavaScript https://developers.facebook.com/blog/post/498/

中是相同的

答案 1 :(得分:1)

我不知道我做了什么,但这段代码对我有用:

FB.api('me/photos', 'post', { 
                url:pic.toString().replace('.png', '.fb.png'),                    
                message:message,
                access_token:accessToken
                }, function(response) {                    
                  }
            });

我添加scope: 'email,user_photos,publish_stream 到我的代码,这将图片添加到用户的相册,并立即显示在用户墙上。

答案 2 :(得分:0)

在您提供的第一个示例中,我看到了widthheight。增加这些价值,没有帮助吗?

例如:

// ...
media: [{'type': 'image', 'src': pic,  width: '1024', height: '768', 'href': 'MY_SITE'}]
// ...