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

Posted

技术标签:

【中文标题】Facebook API/PHP - 是不是可以通过 FB Graph API 更改用户的个人资料图片?【英文标题】:Facebook API/PHP - Is it possible to change a user's profile image via FB Graph API?Facebook API/PHP - 是否可以通过 FB Graph API 更改用户的个人资料图片? 【发布时间】:2011-05-21 05:13:40 【问题描述】:

是否可以通过图形 API 设置/更改用户的 Facebook 个人资料图片?

我找不到特定的 API 方法,但可以将图像上传到用户的相册 (http://developers.facebook.com/docs/reference/api/photo)。我可以将用户的个人资料图片设置为上传到他们相册的图片吗?

编辑: 针对 REST API 提出的相同问题Can I set a users profile image using the Facebook API?

【问题讨论】:

Can I set a users profile image using the Facebook API? 的可能副本 @Ajreal 我在发布之前发现了这个问题,但它只有一个响应,并且自发布以来有许多 api 更改/添加。 【参考方案1】:

不,这是来自 facebook 的一个人的评论:

The Original Link - 你必须按下 show cmets

【讨论】:

【参考方案2】:

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

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

查看Auto Change Facebook Profile Picture 获取 PHP 示例和演示。

【讨论】:

不再起作用,ggtsu 的回答(下)正在起作用。【参考方案3】:

目前可以通过将用户重定向到移动配置文件图片更改网址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 不再有效。

【讨论】:

你应该用什么替换 your_photo_permalink 吗?如果有,是什么? 没有马泰奥。只有https://m.facebook.com/photo.php?fbid=[fb photo id]&prof=1 可以做到这一点【参考方案4】:

据我所知和经验:没有。

【讨论】:

【参考方案5】:

在此处查看“发布”部分:http://developers.facebook.com/docs/reference/api/photo

需要publish_stream 权限。

要发布照片,请发送POST 带照片文件附件的请求 作为multipart/form-data

您可以将单张照片发布到 带有 POST 的用户配置文件 http://graph.facebook.com/PROFILE_ID/photos 我们会自动为 你的应用程序,如果它没有 已经存在。您的所有照片 应用程序将发布到 同一个自动创建的相册。

您可以将照片发布到特定的、 带有 POST 的现有相册 http://graph.facebook.com/ALBUM_ID/photos.

最后一句表明您可以发布到现有相册,因此如果您尝试更新用户的个人资料图片(不确定您提出问题的方式),请尝试获取用户的相册 ID,然后发布到那个。

【讨论】:

感谢马特,感谢您的帮助。我可以创建专辑。但是当我尝试在该专辑中添加图片时出现错误。(message": "(#324) 需要上传文件”)。我在用 C# 做。这是我的网络请求。https://graph.facebook.com/pageid/photos?access_token=application_access_token&method=post&message=waterfall&source=D:\Image\image1.jpg。我知道请求应该分多个部分发出。我用代码编写。不是直接在网络请求中。 您不能只在 URL 中传递硬盘驱动器上的位置,服务器将不知道如何处理它。查看this Facebook blog post,它解释了如何通过 Graph API 上传照片。

以上是关于Facebook API/PHP - 是不是可以通过 FB Graph API 更改用户的个人资料图片?的主要内容,如果未能解决你的问题,请参考以下文章

facebook 聊天 api - php

网站、API 和 iPhone App 让用户可以通过 Facebook 登录

从对象 Facebook API (PHP) 获取受保护的值

通过从我的数据库表中发送用户名和密码来登录 Facebook

如何使用 Google API PHP SDK 获取用户信息

架构之美阅读笔记06