使用 Flikr.net API 获取所有 Flikr 照片集的列表

本文关键字:Flikr 照片集 列表 获取 net API 使用 | 更新日期: 2023-09-27 18:30:39

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

flickr.photosets.getList

被使用,但我如何在 .NET 中实现这一点

使用 Flikr.net API 获取所有 Flikr 照片集的列表

从这里撕下来

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 数据列表控件以显示它们:

        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 方法,响应将是一个具有照片集节点和多个照片集子节点的 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可以防止单个用户向其网站提交太多请求并将其删除。

在 2008-11-30 下午12:27:00 永久链接