2

我试图从我的应用程序中将图像张贴在我的墙上。我希望图像可以看到它的原始大小,而不是像一张小图片。

我尝试了两种方法来做到这一点,但它不起作用。

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);
        }
});

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

我的问题是:如果我使用第一个代码,有没有办法以原始大小显示图像?

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

4

3 回答 3

1

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

于 2012-06-19T11:44:24.310 回答
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 到我的代码中,并将图片添加到用户的相册并立即显示在用户墙上。

于 2012-07-17T10:02:00.860 回答
0

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

例如:

// ...
media: [{'type': 'image', 'src': pic,  width: '1024', height: '768', 'href': 'MY_SITE'}]
// ...
于 2012-06-19T11:30:07.033 回答