FlickrNet

公式が配布しているドキュメントでは

Photos searchResult = flickr.PhotosSearch(searchOption);

となっているが、現バージョンでは

PhotoCollection searchResult = flickr.PhotosSearch(searchOption);

とするのに注意。


検索結果としてPhotoCollectionが取得できれば、foreachで各要素にアクセスできる。

foreach (Photo photo in photos)
{
	try
	{
		PhotoInfo info = flickr.PhotosGetInfo(photo.PhotoId);

		for (int i = 0; i < info.Tags.Count; i++)
		{
			try
			{
				Console.Write(info.Tags[i].TagText);
			}
			catch (IOException e)
			{
				return;
			}

		}
	}
	catch (FlickrNet.ParsingException)
	{
	}
}

Photoクラスのインスタンスにその写真のタグ情報などが入ってると思いきや、Flickr.PhotosGetInfo(Photo.PhotoId)で別途取得する必要があった。

FlickrNet.ParsingExceptionは検索中、"Unknown Elements: Video"というメッセージを吐いて落ちることがあったので、それ対策。動画形式…?具体的な内容はまだ調べていない。