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

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

 2009-11-17 00:00:00 来源:WEB开发网   
核心提示: 该代码非常棒,但还可以通过利用 Zero 的全局上下文加以改进,用 Flickr API 扩展 Project Zero 和 WebSphere sMash 的脚本平台(3),将请求和响应数据存储在全局上下文中让开发人员可以更为容易地跨脚本或文件划分进行请求和响应处理;例如,一个服务器端脚本可能

该代码非常棒,但还可以通过利用 Zero 的全局上下文加以改进。将请求和响应数据存储在全局上下文中让开发人员可以更为容易地跨脚本或文件划分进行请求和响应处理;例如,一个服务器端脚本可能会向一个或多个服务发出 API 调用,而同时响应数据则由客户端的模板呈现。清单 4 显示了如何相应处理此用例:


清单 4. “Zero 化” 的 Flickr API 原型 #2
request.flickr.method = "flickr.photosets.getPhotos"; 
request.flickr.params = [ 
  photoset_id: 1234567890, 
  per_page: 25 
]; 
   
invokeMethod("flickr.groovy", "flickr"); // uses GC for I/O 
   
  def response = request.flickr.response[]; 

设计好之后,就可以开始编写代码了。在 zero.services.flickr 项目内,在 /app/scripts/flickr.groovy 下创建 Groovy 脚本。第一个要添加到此文件中的方法是清单 3 和 4 中的 flickr() 方法。要实现此方法,需要注意如下三个方面:

Flickr API 调用所需的 URI 格式。

Flickr API 键的值。

外向(outbound) HTTP 请求的 Zero Connection API。

有关 Flickr API 调用所需的 URI 格式的相关内容在 Flickr API 文档可以找到;其本质是为用户所提供的每个请求参数创建一个含查询参数的 URI。此外,还必须包含 API 键,这意味着为了提供此 API 键,必须要有一个约定(以免用户在脚本中硬编码其 API 键)。清单 5 显示了构建这个请求 URI 所需要的代码:


清单 5. 构建 Flickr 请求 URI
def uri = "http://api.flickr.com/services/rest/?format=json&nojsoncallback=1"; 
   
uri += "&api_key=${config.flickr.key[]}"; 
uri += "&method=${request.flickr.method[]}"; 
   
request.flickr.params[].each() { 
 uri += "&${it.key}=${it.value}"; 
} 

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

Tags:Flickr API 扩展

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