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

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

 2009-11-17 00:00:00 来源:WEB开发网   
核心提示: 清单 7 显示了两个简单方法,用来获取 Flickr 的 photo 数据结构之一(为所有返回照片元数据的方法所用)并为它的图像文件创建 URL,用 Flickr API 扩展 Project Zero 和 WebSphere sMash 的脚本平台(5),受托管的照片实际上都有几个图像文件,我

清单 7 显示了两个简单方法,用来获取 Flickr 的 photo 数据结构之一(为所有返回照片元数据的方法所用)并为它的图像文件创建 URL。受托管的照片实际上都有几个图像文件,我们的代码说明了这一点;用户可以将 Flickr 返回的 photo 数据传递给我们的 thumbnail() 和 original() 方法以查看缩略图和原始图像。清单 7 中的代码包括在与 flickr() (/app/scripts/flickr.groovy) 相同的文件里:


清单 7. 配置 Flickr API 键
def original(photo) 
{ 
  def server = "http://farm${photo.farm}.static.flickr.com/${photo.server}"; 
  def name = "${photo.id}_${photo.originalsecret}_o.${photo.originalformat}"; 
  return "${server}/${name}"; 
} 
 
def thumbnail(photo) 
{ 
  def server = "http://farm${photo.farm}.static.flickr.com/${photo.server}"; 
  def name = "${photo.id}_${photo.secret}_t.jpg"; 
  return "${server}/${name}"; 
} 

Groovy 内的全局上下文捷径

代码到目前为止很有效,但我们用户代码中的 invokeMethod() 的使用还不够完美。invokeMethod() 方法对于所有运行于 Zero 平台上的 Groovy 脚本都可用,它还提供了一种迅捷的方法来调用另一脚本中的代码;对于只需重复使用一两次的代码而言,这种做法还可以,但对于像这样的一个库来说,调用可能更实际些。如果能更新清单 4 中的代码来直接调用 flickr() 方法,就最好不过了,如清单 8 所示:


清单 8. “Zero 化” 的 Flickr API 原型 #3
request.flickr.method = "flickr.photosets.getPhotos"; 
request.flickr.params = [ 
  photoset_id: 1234567890, 
  per_page: 25 
]; 
   
flickr(); 
   
def response = request.flickr.response[]; 

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

Tags:Flickr API 扩展

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