我目前有以下代码。但是图形api仍然返回(#120)无效的专辑id。如果我查看$facebook_album或https://developers.facebook.com/tools/explorer/248099655226775/?method=GET&path=213152142082066,它会显示一个相册。所以相册确实存在
public function save_facebook(){
Site::debug();
$album_item = new Foto_Album_Item($this['navigatie_obj']['parent_id']);
// File upload activeren
Site::$facebook->setFileUploadSupport(true);
// Facebook album ophalen
$facebook_album = Site::$facebook->api('/'.$album_item['facebook_id']);
// Facebook als gebruiker gebruiken ipv als applicatie
Site::$facebook->setAccessToken( Facebook::$user_access_token );
$user_id = Site::$facebook->getUser();
$facebook_options = array(
'source' => '@'.realpath(Site::$serverpath['album'].$this['navigatie_obj']['parent_id'].'/'.$this['bestand']),
'access_token' => Facebook::$user_access_token,
);
$request_method = '/'.$album_item['facebook_id'].'/photos';
$return = false;
try {
$result = Site::$facebook->api($request_method,'POST',$facebook_options);
$options = array('facebook_id' => $facebook_id ? $this['facebook_id'] : $result['id']);
$return = parent::save($options);
} catch(Exception $e){
Log::error($e,__FILE__,__LINE__);
}
return $return;
}
为了能够上传到属于某个页面的相册,您应该检查(或更改)以下几点:
- 用户应该是一个页面管理员。
- 用户应该授予'manage_pages'权限给应用程序。
- app应该调用graph/me/accounts并迭代可用的account来获取页面的access_token。
- 然后您继续上传'/album_object_id/photos'。
你得到的错误信息显然是误导性的
希望能有所帮助