C# 使用Flikr.net API获取所有Flikr Photoset的列表

C# 使用Flikr.net API获取所有Flikr Photoset的列表,c#,.net,api,flickr,C#,.net,Api,Flickr,我正在尝试将所有Photoset的名称添加到列表框中。我有令牌和有效的Flickr对象。如何在c中执行此操作。在标准的Flickr API中 flickr.photosets.getList 但是如何在.net中实现这一点 C语言中的Flickr库 最近几天,我一直在编写一个示例C库,以便使用Flickr自己的API访问Flickr图片。这个库是一个轻量级的C类,它提供了两个基本功能:1检索帐户中的照片列表,2检索关于照片集中照片的信息 使用此类,您可以检索Flickr帐户中的照片集,并在组合

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

flickr.photosets.getList
但是如何在.net中实现这一点

C语言中的Flickr库

最近几天,我一直在编写一个示例C库,以便使用Flickr自己的API访问Flickr图片。这个库是一个轻量级的C类,它提供了两个基本功能:1检索帐户中的照片列表,2检索关于照片集中照片的信息

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

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

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

        cboPhotoSets.DataSource = photosets;

        cboPhotoSets.DataTextField = "Title";

        cboPhotoSets.DataValueField = "PhotoSetID";

        cboPhotoSets.DataBind();
一旦你选择了一个照片集,你就可以用下面的代码检索里面的照片信息,比如标题和URL。在本例中,我将照片列表绑定到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格式处理请求和响应。typicall Flickr REST请求如下所示:

其中methodName是要调用的方法的名称,例如flickr.photosets.getList以返回一个photosets列表

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

参考资料

您可以从下载此类的C源代码

有关FlickAPI的信息,请访问,这里有很多关于API提供了什么以及如何使用它的信息。API提供了大量的Flickr特性,您可能会发现这些特性很有用,而我的小类不会公开这些特性

您需要从Flickr获取API密钥,以便通过此类或任何其他类使用它们的API。API密钥是免费的,但它是必需的,这样Flickr就可以防止单个用户向其站点提交太多请求并将其删除


发布于2008年11月30日12:27:00 PM Perma Link

谢谢您的回答。我将查看您的库。因此使用Flikr.Net包装器无法做到这一点。