我正在尝试将所有照片集的名称添加到列表框中。我有令牌和有效的 Flickr 对象。我如何在 c# 中执行此操作。在标准的 Flikr 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 格式来处理请求和响应。一个典型的 Flickr REST 请求如下所示:
http://api.flickr.com/services/rest/?method=methodName¶meter1=value1¶meter2=value2
其中 methodName 是要调用的方法的名称,例如 flickr.photosets.getList 返回照片集列表。
Flickr 提供的 REST 响应是带有请求相关信息的 XML 文档。对于 flickr.photosets.getList 方法,响应将是一个带有 photoset 节点和几个 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 可以防止单个用户向其站点提交过多请求并将其删除。
发表于 2008 年 11 月 30 日下午 12:27:00 永久链接