Image 给定图像的URL,如何将该图像上载到Facebook用户';谁的专辑?

Image 给定图像的URL,如何将该图像上载到Facebook用户';谁的专辑?,image,facebook-graph-api,facebook,Image,Facebook Graph Api,Facebook,可能重复: 我有通行证。它具有publish\u流权限 好的,现在我想上传一张图片到Facebook上我默认应用的相册中。该图像位于mys3.amazon.com上。(但出于示例目的,让我们以以下链接为例:) 如何将此imgur图像上载到我的应用程序的相册?(Facebook上的文档很奇怪,我不懂PHP)。本教程正是这样做的: 您可以选择要将图片上载到的相册 如果您想以更通用的方式进行此操作,Facebook API会告诉您使用source和message参数向相册ID/照片发出POST请求

可能重复:

我有通行证。它具有
publish\u流
权限

好的,现在我想上传一张图片到Facebook上我默认应用的相册中。该图像位于mys3.amazon.com上。(但出于示例目的,让我们以以下链接为例:)


如何将此imgur图像上载到我的应用程序的相册?(Facebook上的文档很奇怪,我不懂PHP)。

本教程正是这样做的:

您可以选择要将图片上载到的相册

如果您想以更通用的方式进行此操作,Facebook API会告诉您使用
source
message
参数向相册ID/照片发出POST请求。请注意,
source
必须是多部分/表单数据类型

更多详细信息请访问

要将照片上载到“应用程序相册”,您有两种方法(实际上第一种方法可能会让您更感兴趣)

选项1:

在Amazon S3或类似服务上托管图像的应用程序开发人员可以将S3 URL直接传递到Facebook,而无需将文件下载到应用程序服务器,只需再次上传到Facebook即可。这提高了性能并降低了开发人员的成本

要实现这一点,您需要向下一个URL发出
POST
请求(或
GET
带参数
method=POST
):

https://graph.facebook.com/me/photos?
       access_token=...&url=http%3A%2F%2Fi.imgur.com%2FPtyzk.jpg
http://i.imgur.com/Ptyzk.jpg
在url编码形式中是
http%3A%2F%2Fi.imgur.com%2FPtyzk.jpg
(如果使用url参数传递,则只需对
url
进行编码,如果使用post数据传递,则不得进行编码)

如中所述,通过将照片张贴到
https://graph.facebook.com/USER_ID/photos

照片将发布到为您的应用程序创建的相册中。如果您的应用程序不存在相册,我们会自动为其创建相册。所有以这种方式上传的照片都将添加到同一相册中

选项2:上传图像数据

您只需向
http://graph.facebook.com/me/photos
(请参阅)

唯一需要的参数是
source
,它是
multipart/form data
编码文件,您可以将其下载到临时文件并稍后上载,也可以将其流式传输到Graph API(取决于用于实现此功能的技术)

有两个关于如何上传照片的示例(使用PHP以外的语言):

更新:
您希望将照片发布到用户相册或应用程序相册的哪个位置还不太清楚(
标题
正文
的问题在此相反)。如果要将其发布到用户的相册中,则需要将照片上载到的相册的
me
替换为
id
。否则,请使用
me
(对于当前用户)或其他用户
id
(这将需要使用)。

如果您想将照片上载到应用程序的用户,我认为大多数答案都是正确的。但据我所知,您希望将其上载到应用程序的连接相册。要做到这一点,您应该获得应用程序相册的id,然后才能将图像发布到其中,如:

$facebook->api('album\u id','POST',array(…)

要获取相册的id,请转到并进行访问:/your_app_id/相册(用实际的app id替换您的_app_id)。这将为您提供有关应用程序相册的所有详细信息。然后使用首选SDK(JS、PHP等)和包含图片源和标题的数组(这是必需的)执行Graph API POST请求到上述地址


注意:相册应用程序连接已弃用,将于2012年3月1日删除。请阅读本文档末尾的更多内容

POST参数是什么?因为我得到“需要上传文件”顺便说一句,当我发送帖子请求时,教程显示了一个带操作的facebook url。这不是我想要的。我想使用我的后端更新答案上传到facebook,使其更通用,并链接到文档。当前答案有什么问题?实际上将图像发布到
/me/photos
会将它们添加到应用程序a中lbum(如果相册还不存在就创建它)@juicy你能给我一个说明这一点的链接吗,因为我真的认为你错了。/me/photos是当前登录用户的路径。我可以提供一个参考:阅读以下内容:“此外,还有一个特殊的标识符me,它指向当前用户。因此URL返回活动用户的配置文件。”瞧,你可以在开发者的博客文章中找到相同的陈述,在这里的答案中引用了这一点。在我的答案中添加了这一点以供澄清。顺便说一句,你确实需要将
me
替换为
id
,你想将照片发布到当前用户以外的个人资料中(你应该使用应用程序
access\u token
).我建议你再看一遍这个问题:“我怎样才能将这个imgur图像上传到我的应用程序的相册中?”这就对了!选项1是我想要的。你写了一个完美的答案,谢谢!我希望我能给你奖金,但问题已经解决了。我怎么给你奖金?如果你打开这个,我可以给你bounty@TIMEX,如果此问题将重新打开或其答案与其他问题合并,您可以选择(如果愿意的话;)