Почему я не могу получить идентификатор альбома в facebook?

То, что я хочу сделать, это создать альбом на facebook и загрузить фотографию в альбом, теперь он работает над созданием альбома на facebook, но он не работает над загрузкой фотографии в альбом, я не знаю, почему я не могу получить идентификатор альбома, любое решение или идея?

вот мой код, который создает альбом и загружает фотографию на facebook

<?//At the time of writing it is necessary to enable upload support in the Facebook SDK, you do this with the line: $facebook->setFileUploadSupport(true); //Create an album $album_details = array( 'message'=> 'name', 'name'=> 'name' ); $create_album = $facebook->api('/me/albums', 'post', $album_details); //Get album ID of the album you've just created $albums = $facebook->api('/me/albums'); foreach ($albums["data"] as $album) { //Test if the current album name is the one that has just been created if($album["name"] == 'name'){ $album_uid = $album["id"]; } } //Upload a photo to album of ID... $photo_details = array( 'message'=> 'test' ); $file='http://img.ruphp.com/php/google-logo-682-571408a.jpg'; //Example image file $photo_details['image'] = '@' . realpath($file); $upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details); //print_r($upload_photo); ?> 

благодаря

Я не думаю, что вы могли бы загружать файл с URL-адреса, попробуйте:

$pathToFile = "/some/path/someimage.jpg"; $facebook->setFileUploadSupport(true); ............ $create_album = $facebook->api('/me/albums', 'post', $album_details); //get the album id $album_uid = $create_album["id"]; // no need for foreach loop ..... $args = array('message' => 'Some message'); $args['image'] = '@' . realpath($pathToFile); //see realpath use here $data = $facebook->api('/'. $album_uid . '/photos', 'post', $args);
$pathToFile = "/some/path/someimage.jpg"; $facebook->setFileUploadSupport(true); ............ $create_album = $facebook->api('/me/albums', 'post', $album_details); //get the album id $album_uid = $create_album["id"]; // no need for foreach loop ..... $args = array('message' => 'Some message'); $args['image'] = '@' . realpath($pathToFile); //see realpath use here $data = $facebook->api('/'. $album_uid . '/photos', 'post', $args); 

Надеюсь, поможет

вы не можете вызвать realpath против http-файла. это только для локальных файлов. сначала загрузите файл, используя curl , wget или одну из внутренних функций php, таких как file_get_contents / file_put_contents .

например:

 $file='http://scm-l3.technorati.com/11/12/30/59287/google-logo-682-571408a.jpg'; //Example image file $output = tempnam(sys_get_temp_dir(), 'blex_'); $cmd = "wget -q \"$file\" -O $output"; exec($cmd); $photo_details['image'] = '@' . realpath($output);