Перечислите воссозданные названия альбомов, которые были ранее удалены

Фон

Я хотел бы перечислить все альбомы для моей учетной записи, которые соответствуют заданному имени.

проблема

После удаления альбома, а затем воссоздания альбома с тем же именем код $albumQuery->setAlbumName( ... ) найти название альбома не удается с 404, хотя альбом был успешно создан.

Следующий код работает нормально:

// This is correct -- adding photographs to albums works.
$client = $this->login( $user, $pass, $picasa );
$picasa = $this->newPhotographService( $client );

$albumQuery = $picasa->newAlbumQuery();
$albumQuery->setUser( $user );
$albumQuery->setAlbumName( "17" );      // This is the literal name of the album.
$albumQuery->setMaxResults( 10 );

Эта линия, которая существует сразу после вызова setMaxResults, не удается:

$albumFeed = $picasa->getAlbumFeed( $albumQuery );

При выполнении вышеуказанной строки возникает следующая ошибка:

Исключение: ожидаемый код ответа 200, получено 404

Обновление № 1

Следующий код работает, но не всегда:

echo "Search for the album named $accountId for $user\n";
$albumQuery = $picasa->newAlbumQuery();
$albumQuery->setUser( $user );
$albumQuery->setAlbumName( "ALBUM17" );
$albumQuery->setMaxResults( 1 );

$albumId = null;

try {
  echo "\nGet album feed from albumQuery.\n";
  $albumFeed = $picasa->getAlbumFeed( $albumQuery );

  // The feed returns a list of photos; each photo has an album ID.
  foreach( $albumFeed as $key => $entry ) {
    $albumId = $entry->getGphotoAlbumId();
  }

  echo "\nFound album ID: ALBUM17\n";
}
catch( Zend_Gdata_App_Exception $ex ) {
  echo "\nError: " . $ex->getMessage() . "\n";
  echo "\nCreate album.\n";

  // Create the album.
  $albumId = $this->createAlbum( $picasa, "ALBUM17" );
  echo "\nCreated album ID: ALBUM17\n";
}

Это работает, как ожидается, пока альбом не будет удален. При воссоздании альбома, который был удален, кажется, что API не может найти воссозданное имя. В результате вышеприведенный код создает новые альбомы с тем же именем, что нежелательно.

Обновление № 2

Это похоже на ошибку; Я зарегистрировал проблему:

https://code.google.com/p/gdata-issues/issues/detail?id=4516

Вопрос

Как получить идентификатор альбома с помощью PHP API Picasa для альбома, который был удален, а затем воссоздан?

1 ответ

Решение

Я не знаком с этим конкретным API, однако...

Обычно происходит то, что вы НЕ МОЖЕТЕ воссоздать запись. Как только вы удалите его, его больше нет.

Поэтому вам нужно получить идентификатор нового альбома, который вы только что создали, а затем использовать его в своем коде.

Также кажется, что вы путаете название альбома с его идентификатором.

Другие вопросы по тегам