2016-01-21 67 views
0

由於Flickr文檔提及了收藏集和畫廊,但我沒有發現與相冊相關的東西,所以我有點難過。FlickrNet從相冊中獲取照片

我正在asp.net中構建一個網站,並希望加載Flickr相冊中的照片,並且在一段時間沒有運氣檢查到Collections和Galleries API後,我希望有人知道如何從Flickr中檢索照片專輯。

這是我目前的,它適用於我的照片流的照片,但我還沒有弄清楚如何加載相冊。

using System; 
using System.Configuration; 
using System.Web; 
using FlickrNet; 

namespace MyWebSite.Core.Gateways 
{ 
    public class FlickrGateway : IFlickrGateway 
    { 
     private readonly string _flickrApiKey = ConfigurationManager.AppSettings["Flickr.ApiKey"]; 
     private readonly string _flickrApiSecret = ConfigurationManager.AppSettings["Flickr.ApiSecret"]; 
     private readonly string _flickrApiUserId = ConfigurationManager.AppSettings["Flickr.ApiUserId"]; 
     private readonly string _flickrPhotoSetId = ConfigurationManager.AppSettings["Flickr.PhotoSetId"]; 

     private readonly Flickr _flickrApi; 

     public FlickrGateway() 
     { 
      _flickrApi = new Flickr(_flickrApiKey, _flickrApiSecret) { InstanceCacheDisabled = true }; 

      if (OAuthToken == null) return; 

      _flickrApi.OAuthAccessToken = OAuthToken.Token; 
      _flickrApi.OAuthAccessTokenSecret = OAuthToken.TokenSecret; 
     } 

     public PhotoCollection GetPhotoStream() 
     { 
      return _flickrApi.PeopleGetPublicPhotos(_flickrApiUserId); 
     } 

     public PhotosetCollection GetPhotosetsList() 
     { 
      return _flickrApi.PhotosetsGetList(_flickrApiUserId); 
     } 

     public PhotosetPhotoCollection GetPhotoSet(string photoSetId) 
     { 
      return _flickrApi.PhotosetsGetPhotos(photoSetId); 
     } 

     public PhotosetPhotoCollection GetPhotoSet() 
     { 
      return _flickrApi.PhotosetsGetPhotos(_flickrPhotoSetId); 
     } 

     private static OAuthAccessToken OAuthToken 
     { 
      get 
      { 
       if (HttpContext.Current.Request.Cookies["OAuthToken"] == null) 
       { 
        return null; 
       } 
       var values = HttpContext.Current.Request.Cookies["OAuthToken"].Values; 
       return new OAuthAccessToken 
       { 
        FullName = values["FullName"], 
        Token = values["Token"], 
        TokenSecret = values["TokenSecret"], 
        UserId = values["UserId"], 
        Username = values["Username"] 
       }; 
      } 
      set 
      { 
       var cookie = new HttpCookie("OAuthToken") 
       { 
        Expires = DateTime.UtcNow.AddHours(1), 
       }; 
       cookie.Values["FullName"] = value.FullName; 
       cookie.Values["Token"] = value.Token; 
       cookie.Values["TokenSecret"] = value.TokenSecret; 
       cookie.Values["UserId"] = value.UserId; 
       cookie.Values["Username"] = value.Username; 
       HttpContext.Current.Response.AppendCookie(cookie); 
      } 
     } 
    } 
} 

回答