PHP Facebook Graph API:如何在Facebook的自定义应用程序的相册上发布照片

时间:2011-07-27 17:40:58

标签: facebook facebook-graph-api facebook-php-sdk

我正在尝试在Facebook上制作应用程序。从该应用程序,用户应该能够将照片或评论上传到应用程序的相册。 我做了评论部分,因此用户可以将应用程序的评论发布到应用程序的墙上。

但我无法将照片发布到应用相册。当我上传任何图片时,它会转到用户墙。

以下代码即时使用。

$fb = new Facebook(array(
'appId'  => '2420527xxxxxxx',
'secret' => 'a6b14d618xxxxxxxxxxxxxxxxxxx'
));

$graph_url= "https://graph.facebook.com/".$fb->getAppId()."/photos?access_token=".$fb->getAccessToken();        

echo "
 <form enctype="multipart/form-data" action="'.$graph_url.'" method="post">
    <input name="source" type="file" /><br/>
    <input name="message" type="text" value="" /><br/>
    <input type="submit" value="Upload"/>
 </form>
 ";                 

以前有人在这里做过吗?任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

这张照片不会出现在他们的墙上,它实际上会在他们为您的应用创建的个人资料中找到一张新专辑。看看他们的相册,你应该在那里看到它。当新照片上传到相册时,Facebook会发布一些未指明的魔法。

如果您希望照片转到特定相册,则需要指定照片应转到的相册ID。

// first get your album id, let's assume you need to create it
// create this before hand and you can just reference the id
$attachment = array('access_token'=> ACCESS_TOKEN, 'name'=>$ablum_name);
try{
    $album_resp = $facebook->api("/{$this->page_id}/albums", 'POST', $attachment);
}catch(Exception $e){
    throw new Exception("Failed to create album: ". $e->getMessage());
}
$album_id = $album_resp['id'];

$graph_url= "https://graph.facebook.com/". $album_id ."/photos?access_token=".$fb->getAccessToken();

// continue with your posting...