我正在尝试将所有照片的名称添加到列表框中。我有令牌和有效的Flickr对象。如何在c#中执行此操作。在标准的Flikr API中
flickr.photosets.getList
使用了但是如何在.net
中实现这一点答案 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¶meter1=value1¶meter2=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