WEB开发网
开发学院软件开发Java 用 Flickr API 扩展 Project Zero 和 WebSphere s... 阅读

用 Flickr API 扩展 Project Zero 和 WebSphere sMash 的脚本平台

 2009-11-17 00:00:00 来源:WEB开发网   
核心提示: 请注意清单 5 中已经硬编码了基本的 Flickr URI 并使用了 JSON 数据结构 — 这些不应更改,还有,用 Flickr API 扩展 Project Zero 和 WebSphere sMash 的脚本平台(4),这个 API 键是从一个名为 config.flickr.

请注意清单 5 中已经硬编码了基本的 Flickr URI 并使用了 JSON 数据结构 — 这些不应更改。还有,这个 API 键是从一个名为 config.flickr.key 的全局上下文属性中读取的;我们将要求用户在其应用程序配置文件中设置这个值以鼓励好的编程实践。清单 5 代码中最后一点需要注意的是 Groovy 的语法技巧是如何简化将 JSON 对象(映射)转变为有效 URI 的过程的。通过使用嵌入式变量和 each() 方法来在此映射上进行迭代,用五行非常易读的代码,我们就创建了一个相当复杂的 URI。

一旦有了 URI,只需使用 Zero 的 Connection API 发送请求即可。幸运的是,这个 API 有很多简便的方法来调用 RESTful 服务。清单 6 中的代码做了这样一个 HTTP GET 请求并以 JSON 解析了相应的响应:


清单 6. 处理 Flickr 请求
def response = Connection.doGET(uri); 
def json = response.getResponseBodyAsString(); 
request.flickr.response = JSONObject.parse(json); 

对于此项目,我们假设所有操作都是 GET(读取);所提供的代码可以很容易地扩展到 POST(写入),但这超出了本文的范围。

整个 flickr() 方法是由清单 5 和 6 中的代码组成的,也可以在本文所附的示例项目下载中得到。如果在将两个清单合并成一个可用函数方面遇到任何麻烦,可以参考下载中的 flickr.groovy 文件。

创建照片 URL

调用方法只是用户将 Flickr 数据合并到应用程序中的所有工作中的一部分。一旦有了一个或更多照片的元数据,用户将需要创建到由 Flickr 用户共享的这个实际图像文件的 URL。图像文件 URL 不包括在 JSON 响应数据中 — 必须用 Flickr 提供的格式化指令将它们合并 ;因为这些 URL 通常很长并且包括很多变量,为了能从 JSON 响应中构建这些 URL,需要有一些简便的方法。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Flickr API 扩展

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接