Почему я не могу получить идентификатор альбома в фейсбуке? - PullRequest
0 голосов
/ 09 января 2012

Что я хочу сделать, это создать альбом на 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://scm-l3.technorati.com/11/12/30/59287/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);
    ?>

спасибо

Ответы [ 2 ]

1 голос
/ 09 января 2012

Не думаю, что вы можете загрузить файл с 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);


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

0 голосов
/ 10 января 2012

вы не можете позвонить 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...