如何使用graphicsapi设置一个Facebook的个人资料图片

有没有办法改变用户的个人资料图片使用graphicsAPI?

我知道你不能与其余的API( 参考 ),但我无法find任何东西在新的graphicsAPI。

使用Graph API将图片上传到现有的相册(或创build一个新的相册)。 看起来像这样:

$args = array('message' => 'Caption'); $args['image'] = '@' . realpath("the_image.png"); try { $data = $facebook->api('/'.$album_uid.'/photos', 'post', $args); } catch(Exception $e) { print "<pre>"; print_r($e); print "</pre>"; } 

然后通过graphicsAPI获取上传的图像,并redirect到图像的链接,添加&makeprofile=1到查询string。 用户现在将被redirect到configuration文件图像剪裁页面:

 try { $pictue = $facebook->api('/'.$data['id']); header("Location: ".$pictue['link']."&makeprofile=1"); } catch(Exception $e) { print "<pre>"; print_r($e); print "</pre>"; } 

PicBadges应用程序清楚地完成这项工作。 只要看看他们的应用程序。 它很清楚他们如何实施。

他们不直接将图片上传到“个人资料图片”相册。 相反,他们像往常一样上传到他们的自动生成相册(在他们的应用程序名称),然后select图片作为“个人资料照片”。 但是,这种方法涉及将用户redirect到需要在完成之前裁剪的页面。

有趣的实现要注意!

您可以使用Graph API上传到用户的“个人资料图片”相册,但看起来您无法更新/ me /图片值,以将用户当前的个人资料图片设置为您上传的图片。