我无法按专辑名称访问Picasa网络相册。我有专辑名称'My Test Album'。如果我使用该名称(包括空格),我收到错误:
致命错误:带有消息的未捕获异常'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()
之前将其删除?
或者有关更好方法的任何建议?
由于 伊恩
答案 0 :(得分: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
应该引用有效的相册。
代码迭代专辑Feed。您必须确保唯一标识相册名称;否则代码将返回与名称匹配的多个专辑。
请注意,如果删除相册,然后重新创建相同名称的相册,则会出现一个错误,导致您无法检索该相册。另见:List recreated album names that were previously deleted。