我有一个亚马逊s3帐户,我用它来保存图像。我将图像保存为私有图像,以便只有我的网站可以使用s3 apis获取它们。然而,我的网站有一个向facebook发布更新的功能。
FB.api('/me/feed', 'post', {
link: PAGEURL,
picture: PICTUREURL,
name: TITLE,
description: DESCRIPTION
}, function(response) {
});
为此,我需要PICTUREURL
。所以我的问题是,如何让s3存储桶只对facebook可用?
发布于 2013-06-22 03:29:09
我怀疑你能让它只在Facebook上使用。即使你可以,我也不认为这会让游客看到这张照片。但不管怎样,还是要开始了。
若要使图片对Facebook可见,请使用即将过期的预签名URL。不是发送PICTUREURL参数的常规S3 URL,而是创建一个在几分钟内过期的URL (足够Facebook抓取图片)并使用它。我不确定您使用的是哪种语言或S3库,但它们都支持创建这样的预签名URL。
坏消息是,这可能无济于事。这是因为Facebook可能只使用你给它的URL来显示图片,而不是复制图片并显示其副本。如果是这样,那么最终的最终用户将使用您提供给Facebook的URL,并且它将在他们看到它之前过期。
当然,您可以使用一个很久以后就会过期的URL,但是如果您这样做了,那么您最好首先将S3对象设置为公共的。
https://stackoverflow.com/questions/17238406
复制