如何使用Flickr .NET API检索原始URL照片?

时间:2011-12-23 10:56:03

标签: c# .net api flickr

我的代码是:

FlickrNet.Flickr flickr = new FlickrNet.Flickr(apiKey, shardSecret);
FlickrNet.Flickr.CacheDisabled = true;

PhotoCollection photos = flickr.PeopleGetPublicPhotos(flickrUser);

linkPhoto = "http://farm" + photo.Farm + ".staticflickr.com/" + photo.Server + "/" + photo.PhotoId + "_" + photo.OriginalSecret + "_o."+photo.OriginalFormat;

但似乎photo.OriginalSecretphoto.OriginalFormat返回一个空字符串? 还尝试使用photo.OriginalUrl但是相同:空字符串?我哪里错了?

1 个答案:

答案 0 :(得分:2)

也可以使用这些选项:

        options.Extras = PhotoSearchExtras.OriginalFormat;

这将使Flickr在所有情况下都包含原始URL,您可以在其中查看它。当你使用LargeURL时,这是特别方便的,因为有些照片不够大,不足以拥有大容量,在这种情况下,Flickr会给你一个指向“此图像当前不可用”的langeURL图片。

然后,如果你想找到一个图像的“最大版本”,你可以这样做:

public string BiggestVersionUrl()
    {
        // find biggest version for downloading later
        string BiggestVersionUrl1 = string.Empty;
        var p = this.Photo;
        if (!string.IsNullOrEmpty(p.OriginalUrl))
            BiggestVersionUrl1 = p.OriginalUrl;
        else if (!string.IsNullOrEmpty(p.LargeUrl))
            BiggestVersionUrl1 = p.LargeUrl;
        else if (!string.IsNullOrEmpty(p.MediumUrl))
            BiggestVersionUrl1 = p.MediumUrl;
        else if (!string.IsNullOrEmpty(p.SmallUrl))
            BiggestVersionUrl1 = p.SmallUrl;
        return BiggestVersionUrl1;
    }