Как я могу получить исходную фотографию URL с помощью Flickr .NET API? - PullRequest
0 голосов
/ 23 декабря 2011

Мой код:

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.OriginalSecret и photo.OriginalFormat возвращает пустую строку?Также пробовал с photo.OriginalUrl, но то же самое: пустая строка?Где я не прав?

1 Ответ

2 голосов
/ 23 января 2012

Используйте также эти параметры:

        options.Extras = PhotoSearchExtras.OriginalFormat;

Это позволит Flickr включать исходный URL во всех случаях, когда вам разрешено его видеть.Это особенно удобно, когда в противном случае вы бы использовали LargeURL, поскольку есть фотографии, которые недостаточно велики, чтобы иметь 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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...