Facebook API/PHP - 通过FB Graph API更改用户的个人资料图片是否可能?

15

@Ajreal 在发布问题之前,我发现了那个问题,但它只有一个回答,并且自那时以来已经有许多API的更改和添加。 - John Himmelman
5个回答

17

不,这里有来自Facebook的一位男士的留言:

This Is A A Facebook Developer!

原始链接 - 您需要点击“显示评论”


10

我们可以通过API将用户的照片上传到Facebook,然后将用户重定向到已上传的照片URL,并在查询字符串列表中添加makeprofile=1以实现这个技巧:

facebook.com/photo.php?pid=xyz&id=abc&makeprofile=1

查看自动更改Facebook个人资料图片,获取PHP示例和演示。


不再起作用了,ggtsu的回答(下面)是有效的。 - Ramiz Ansari

9

目前可以通过将用户重定向到移动设备的个人资料图片更改URL来实现此目的:https://m.facebook.com/photo.php?fbid=[fb photo id]&prof&ls=your_photo_permalink

以前的解决方法,使用facebook.com/photo.php?pid=[fb photo id]&makeprofile=1的URL已不再适用。


1
你需要用什么来替换your_photo_permalink?如果是的话,是什么? - matteo
不要使用 Matteo。只有 https://m.facebook.com/photo.php?fbid=[fb photo id]&prof=1 才能完成这个技巧。 - Ramiz Ansari

3
据我所知和经验:不行。

2
请参考这里的“发布”部分:http://developers.facebook.com/docs/reference/api/photo 需要获得“publish_stream”权限。要发布照片,请使用带有照片文件附件的“multipart/form-data”POST请求。您可以通过向“http://graph.facebook.com/PROFILE_ID/photos”发出POST请求将单个照片发布到用户配置文件中。如果应用程序不存在,则我们会自动为其创建一个相册。所有来自您的应用程序的照片都将发布到同一个自动创建的相册中。您可以通过向“http://graph.facebook.com/ALBUM_ID/photos”发出POST请求将照片发布到特定的现有照片相册中。
最后一句话说明您可以发布到现有相册,因此,如果您尝试更新用户的个人资料图片(从您提出问题的方式不确定),请获取用户的相册ID,然后发布到该相册。

感谢Matt的帮助,我能够创建一个相册。但是当我尝试在相册中添加图片时,出现错误消息"(# 324)需要上传文件"。我是用C#编写的,并且以下是我的Web请求: https://graph.facebook.com/pageid/photos?access_token=application_access_token&method=post&message=waterfall&source=D:\Image\image1.jpg 。我知道请求应该分成多个部分。我已经在代码中写入了请求,而不是直接在Web请求中。 - Komal
2
你不能在URL中仅传递硬盘上的位置,服务器不知道该怎么处理。请查看这篇Facebook博客文章,其中解释了如何通过Graph API上传照片。 - Matt Huggins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接