2011-12-23 82 views
0

我的代碼是:如何使用Flickr .NET API檢索原始URL照片?

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但是是一樣的:空字符串?我錯在哪裏?

回答

2

使用這些功能太:

 options.Extras = PhotoSearchExtras.OriginalFormat; 

這將使Flickr的包括在所有的情況下,如果你被允許看到它原來的URL。這在使用LargeURL時非常方便,因爲這些照片的大小不足以容納大型URL,並且在這種情況下,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; 
    } 
+0

何謂「裏你被允許看到它」?我得到'null'的值,但我可以在頁面上看到它 – 2013-12-04 16:08:32