2016-01-21 101 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); 
      } 
     } 
    } 
} 

回答

相关问题