使用Flikr.net API获取所有Flikr PhotoSet的列表

时间:2012-04-11 11:43:11

标签: c# .net api flickr

我正在尝试将所有照片的名称添加到列表框中。我有令牌和有效的Flickr对象。如何在c#中执行此操作。在标准的Flikr API中

flickr.photosets.getList
使用了

但是如何在.net

中实现这一点

1 个答案:

答案 0 :(得分:1)

摘自here

C#中的Flickr库

最近几天,我一直在使用Flickr自己的API访问Flickr图片。这个库是一个轻量级的C#类,提供两个基本功能:(1)检索帐户中的photosets列表,以及(2)检索照片集中的照片信息。

使用此课程,您可以检索Flickr帐户中的照片集,并将其显示在一个组合框中,其中包含以下几行代码:

        Flickr flickr = new Flickr("YourApiKey", "YourUserID");

        List<PhotoSetInfo > photosets = flickr.GetPhotoSets(); 

        cboPhotoSets.DataSource = photosets;

        cboPhotoSets.DataTextField = "Title";

        cboPhotoSets.DataValueField = "PhotoSetID";

        cboPhotoSets.DataBind();

选择照片集后,您可以使用以下代码检索有关其中照片的信息(如标题和网址)。在这个例子中,我将照片列表绑定到ASP.NET datalist控件以显示它们:

        Flickr flickr = new Flickr("YourApiKey", "YourUserID");

        List<PhotoInfo> photos = flickr.GetPhotosInSet(cboPhotoSets.SelectedValue);

        listPhotos.DataSource = photos;

        listPhotos.DataBind();

        lblPhotosMsg.Text = (photos.Count == 0) ? "No photos in this photoset" : "";

Flickr API支持多种请求和响应格式。我在我的FlickrLib库中使用REST格式的请求和响应。典型的Flickr REST请求如下所示:

http://api.flickr.com/services/rest/?method=methodName&parameter1=value1&parameter2=value2

其中methodName是要调用的方法的名称,例如flickr.photosets.getList返回照片列表。

Flickr提供的REST响应是XML文档,其中包含请求的相关信息。对于flickr.photosets.getList方法,响应将是一个带有photosets节点和几个photoset子节点的XML文档。这些XML响应非常容易使用LINQ to XML进行解析,并将它们转换为C#强类型对象(如PhotoSetInfo和PhotoInfo),然后可以绑定到.NET类。这正是FlickrLib库所做的,它为Flickr API功能提供了一个包装器,以便您可以轻松地从.NET应用程序中使用它。

参考

您可以从http://hectorcorrea.com/downloads/FlickrLibDemo.zip

下载此课程的C#源代码

有关Flick API的信息,请访问http://www.flickr.com/services/api/,其中提供了有关API提供的内容以及如何使用它的大量信息。 API提供了大量的Flickr功能,您可能会觉得这些功能很有用,并且我的小类不会暴露。

您需要从Flickr获取API密钥才能通过此类或任何其他类使用其API。 API密钥是免费的,但需要它才能使Flickr阻止单个用户向其网站提交过多请求并将其删除。

发表于11/30/2008 12:27:00 PM Perma Link