Обновление миниатюр Picasa Video с помощью Zend GData Picasa API - PullRequest
0 голосов
/ 01 декабря 2010

Я хочу обновить миниатюру моего видео в веб-альбомах Picasa с помощью API.У меня есть пример PHP-кода Photos для API данных Photos.

В документации сказано, что я могу " Предоставить собственную миниатюру видео " путем обновленияфото.

Я пробовал следующую функцию, но ничего не происходит.Пожалуйста, помогите!

/**
 * Updates photo (for changing video thumbs
 *
 * @param  Zend_Http_Client $client  The authenticated client
 * @param  string           $user    The user's account name
 * @param  integer          $albumId The album's id
 * @param  integer          $photoId The photo's id
 * @param  array            $photo   The uploaded photo
 * @return void
 */
function updatePhoto($client, $user, $albumId, $photoId, $photo)
{
        $photos = new Zend_Gdata_Photos($client);

        $photoQuery = new Zend_Gdata_Photos_PhotoQuery;
        $photoQuery->setUser($user);
        $photoQuery->setAlbumId($albumId);
        $photoQuery->setPhotoId($photoId);
        $photoQuery->setType('entry');

        $entry = $photos->getPhotoEntry($photoQuery);

        $fd = $photos->newMediaFileSource($photo["tmp_name"]);
        $fd->setContentType($photo["type"]);
        $entry->setMediaSource($fd);

        $entry->save();

        outputPhotoFeed($client, $user, $albumId, $photoId);        
}

1 Ответ

1 голос
/ 02 декабря 2010

Я был почти прав, обновленный код, который работает ...

    /**
     * Updates photo (for changing video thumbs
     *
     * @param  Zend_Http_Client $client  The authenticated client
     * @param  string           $user    The user's account name
     * @param  integer          $albumId The album's id
     * @param  integer          $photoId The photo's id
     * @param  array            $photo   The uploaded photo
     * @return void
     */
    function updatePhoto($client, $user, $albumId, $photoId, $photo)
    {
            $photos = new Zend_Gdata_Photos($client);

            $photoQuery = new Zend_Gdata_Photos_PhotoQuery;
            $photoQuery->setUser($user);
            $photoQuery->setAlbumId($albumId);
            $photoQuery->setPhotoId($photoId);
            $photoQuery->setType('entry');

            $entry = $photos->getPhotoEntry($photoQuery);
            $uri = $entry->getLink("edit-media")->href;             

            $fd = $photos->newMediaFileSource($photo["tmp_name"]);
            $fd->setContentType($photo["type"]);
            $entry->setMediaSource($fd);

        $result = $entry->save($uri);
            if ($result) {
                outputPhotoFeed($client, $user, $albumId, $photoId);        
            } else {
                echo "There was an issue with upating this photo.";
            }
    }

См. ' Обновление миниатюр Веб-видео Picasa ' для полного кода и рабочего примера.

...