2

我无法按相册名称访问 Picasa 网络相册。我有专辑名称“我的测试专辑”。如果我使用该名称(包括空格),我会收到错误:

致命错误:未捕获的异常“Zend_Uri_Exception”和消息“提供的 URI 无效”

没有空格“MyTestAlbum”可以正常工作:

// Construct the query                      
$query = $this->photos->newAlbumQuery();
$query->setUser( "default" );
$query->setAlbumName( "MyTestAlbum" ); //This works fine

这会导致错误:

// Construct the query                      
$query = $this->photos->newAlbumQuery();
$query->setUser( "default" );
$query->setAlbumName( "My Test Album" ); // This causes error

我的问题是什么字符是不允许的,所以我可以在打电话之前把它们去掉setAlbumName()

或者对更好的方法有什么建议?

谢谢伊恩

4

1 回答 1

0

您只能获取与特定名称匹配的专辑列表:

// Find the album for the given accountId.
$albumQuery = $picasa->newAlbumQuery();
$albumQuery->setUser( $user );
$albumQuery->setAlbumName( "AlbumName" ); // No spaces.
$albumQuery->setMaxResults( 1 );

$albumId = null;

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

  foreach( $albumFeed as $key => $entry ) {
    $albumId = $entry->getGphotoAlbumId();
  }
}
catch( Zend_Gdata_App_Exception $ex ) {
  // Create the album because the album name could not be found.
  $albumId = $this->createAlbum( $picasa, "AlbumName" );
}

此时,$albumId应该是引用了一个有效的相册。

代码遍历专辑提要。您必须确保专辑名称是唯一标识的;否则代码将返回与名称匹配的多个专辑。

请注意,如果您删除相册,然后重新创建同名相册,则会出现一个错误,阻止您检索该相册。另请参阅:列出以前删除的重新创建的专辑名称

于 2013-05-02T04:10:26.690 回答