php - 列出以前删除的重新创建的专辑名称

标签 php picasa zend-gdata

背景

我想列出我帐户中与给定名称匹配的所有相册。

问题

删除相册后,然后重新创建具有完全相同名称的相册,用于查找相册名称的 $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 );

执行上述行时,出现以下错误:

Exception: Expected response code 200, got 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

问题

如何使用 Picasa 的 PHP API 为已删除然后重新创建的相册检索相册 ID?

最佳答案

但是我不熟悉这个特定的 API...

通常发生的情况是您无法重新创建条目。一旦你删除它,它就消失了。

因此您需要做的是获取您刚刚创建的新相册的id,然后在您的代码中使用它。

您似乎还混淆了相册的名称和它的id

关于php - 列出以前删除的重新创建的专辑名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16352676/

相关文章:

php - 在 HTML 中显示未解析的 PHP

php - 为什么 PHP 说微秒是 1/10000 秒?

php - php 会在每次请求后自动关闭 TCP 连接吗?

android - 从 Android 连接到 Picasa

android - 如何使用 Data Api 将照片上传到 picasa 网络相册?

picasa - API 控制台上的 Google 网络相册服务在哪里?

php - echo (new DateTime())->getTimestamp(); ...不支持匿名对象?

php - 使用 zend gdata 插件上传文档

php - Zend_GData 电子表格 - grid-id 的无效查询参数值

php - 使用Zend Gdata Youtube API获取视频上传日期