如何将上传的照片设置为个人资料图片

时间:2012-08-26 16:55:48

标签: facebook cakephp profile

过去几天我一直在尝试这个,但似乎我遗漏了一些东西:嗯,我可以使用以下代码将照片上传到用户个人资料(我正在使用带有{{的cakephp 3}} facebook插件):

$Fb = new FB();
      FB::setFileUploadSupport(true);
   $token = FB::getAccessToken();

//upload photo
$file= IMAGES.'badge.png';

$attachment = array(
    'access_token'=> $token,
    'name' => 'Album name',
    'source' => '@'.$file
                );
    $fb_photo = FB::api('/me/photos','POST', $attachment);

我可以将照片上传到新相册,我想重定向用户将上传的照片设置为他们的脸谱资料个人资料。我跟着Nick Baker's,但似乎我仍然遗漏了一些东西。我可以使用$fb_photo['id']获取上传的照片ID,但我无法获得照片链接(我按照评论中的建议尝试了$fb_photo['link'],但它返回NULL)。我做错了什么,或者我应该做些什么来实现成功的重定向?谢谢。

1 个答案:

答案 0 :(得分:0)

发布照片的回调只是照片ID,您还需要从API请求照片的完整详细信息,

所以

之后
$fb_photo = FB::api('/me/photos','POST', $attachment);

您需要执行类似

的操作
$fb_photo_details = FB::api('/'.$fb_photo);
$link = $fb_photo_details['link'];