Я хотел бы перечислить все альбомы для моей учетной записи, которые соответствуют имени.
После удаления альбома, а затем воссоздания альбома с таким же именем, код для $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
Следующий код работает, но не последовательно:
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 не может найти воссозданное имя. В результате вышеуказанный код создает новые альбомы с тем же именем, что нежелательно.
Это кажется ошибкой; Я зарегистрировал проблему:
https://code.google.com/p/gdata-issues/issues/detail?id=4516
Как получить идентификатор альбома с помощью API-интерфейса Picasa для альбома, который был удален, а затем воссоздан?
Однако я не знаком с этим конкретным API …
Обычно случается, что вы НЕ МОЖЕТЕ воссоздать запись. Как только вы удалите его, он исчез.
Поэтому вам нужно сделать, чтобы получить идентификатор нового альбома, который вы только что создали, а затем использовать его в своем коде.
Также кажется, что вы путаете имя альбома с его идентификатором .