`
jsntghf
  • 浏览: 2548228 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

集成Flickr

阅读更多

Flickr相册服务是充满灵性的web2.0应用,它提供了具备社会性网络的相片共享服务,让用户图片的上载、组织和查找都变得异常简单。对于开发者,Flickr还提供了读写照片数据的公共API,可以通过HTTP的API请求发送来调用Flickr提供的服务。同时,RubyForge上也有不少开源的项目,为Flickr API提供了针对Ruby语言的封装。

 

在使用Flickr服务之前,你需要拥有一个API Key。你可以去http://www.flickr.com/services/api/misc.api_keys.html获取。

 

接下来,我们看一下如何通过flickr_fu将flickr集成到项目中。

 

首先,安装flickr_fu。执行以下命令:

 

 

sudo gem install flickr-fu

 

接下来,修改environment.rb文件,加入以下内容:

 

 

require 'flickr_fu'

 

现在,我们来写一个配置文件,命名为flickr.yml,并将它放到config目录下,内容如下:

 

 

key: "<your key>"
secret: "<your secret>"
token_cache: "token_cache.yml"

 

接下来,我们在helpers目录下新建一个flickr_helper,内容如下:

 

 

module FlickrHelper
  def user_photos(user_id, photo_count = 8)
    flickr = Flickr.new(File.join(RAILS_ROOT, 'config', 'flickr.yml'))
    flickr.photos.search(:user_id => user_id).values_at(0..(photo_count - 1))
  end

  def render_flickr_widget(user_id, photo_count = 8)
    begin
      photos = user_photos(user_id, photo_count).in_groups_of(2)
      render :partial => '/flickr/flickr_widget', :locals => { :photos => photos }
    rescue Exception
      render :partial => '/flickr/unavailable'
    end
  end
end

 

接下来,看一下flickr_widget模板的内容:

 

 

<div class="flickr">
  <ul>
    <% photos.each do |row| -%>
      <li>
        <% row.each do |p| %>
          <%= link_to(image_tag(p.url(:square), :class => 'flickr_photo', :title => p.title, :border => 0, :size => '75x75'), p.url_photopage) %>
        <% end %>
      </li>
    <% end -%>
  </ul>
</div>

 

我们还为这个模板加了一点样式:

 

 

  .flickr ul
  {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
  
  .flickr ul li
  {
    border-bottom: 0;
    margin: 0;
    padding: 0;
  }

  .flickr_photo
  {
    width: 75px;
    height: 75px;
    padding: 12px 10px 32px 13px;
    margin: 0;
    background: #fff url(/images/polaroid.jpg) no-repeat;
  }

 

最后,在需要显示flickr图片的页面加入以下这句调用即可:

 

 

<%= render_flickr_widget('51537060@N04') %>

 

这样,flickr便集成到你的项目中了。

 

我们还可以给页面加上缓存,代码如下:

 

 

<% cache ("flickr_widget") do %>
  <%= render_flickr_widget('51537060@N04') %>
<% end %>

 

最后,看一下效果:

 

 

 

分享到:
评论
2 楼 fl1429 2010-07-18  
看看我的demo:
http://wxianfeng.com/mashups/flickr
1 楼 samwalt 2010-07-07  
能给下整个页面的效果吗?

相关推荐

    Flickr & WEBIMAGER-截图并上传到flickr的工具(转)

    在Web开发领域,Flickr API是开发者常用的一个接口,可以用来集成Flickr的服务到自己的应用程序中,如创建图片上传功能或者进行图片的检索和展示。 WEBIMAGER工具在这里可能是为用户提供一个方便的截图并直接上传至...

    Laravel开发-flickr-laravel5

    【Laravel开发-flickr-laravel5】是一款专为在 Laravel 5 框架中集成 Flickr API 而设计的扩展包。Laravel 是一个基于 PHP 的流行开源框架,以其优雅的语法和强大的功能深受开发者喜爱。Flickr,则是全球知名的图片...

    backbone-flickr:使用 Backbonejs 集成 Flickr API

    Flickr API 是一个允许开发者访问 Flickr 图库数据的强大工具,提供了丰富的照片、用户信息以及元数据。将 Backbone.js 与 Flickr API 结合,可以帮助我们创建出交互性强、功能丰富的图片浏览应用。 在这个项目中,...

    Flickr 图片滚动及无刷新放大显示插件

    它提供了丰富的API和工具,使得开发者可以轻松地在自己的网站上集成Flickr的功能。本话题主要关注一个特定的插件,即“Flickr 图片滚动及无刷新放大显示插件”,这个插件允许用户在浏览网页时,图片可以随着页面滚动...

    Laravel开发-flickering

    在本文中,我们将深入探讨如何使用 Laravel 框架来构建一个与 Flickr API 集成的应用,这个应用称为 "Laravel开发-flickering"。Flickr 是一个流行的在线照片和视频托管服务,提供了丰富的 API 来允许开发者访问其...

    Python库 | flickrstock-0.1.tar.gz

    对于开发人员来说,`flickrstock`库是一个非常实用的工具,可以帮助他们方便地集成Flickr服务到自己的应用程序中,无论是为了获取照片作为网站的背景图片,还是进行数据分析,或者构建与Flickr深度集成的应用。...

    Java 极富客户端程序:Aerith

    集成Flickr API可能涉及到以下技术: 1. **OAuth认证**:为了安全地访问Flickr API,Aerith会使用OAuth进行用户授权,确保数据传输的安全性。 2. **RESTful API调用**:通过HTTP请求与Flickr服务器通信,获取或发送...

    DNN 每天一图

    在DNN平台上集成Flickr的功能,可以丰富网站内容,增加用户互动性。 这个DNN模块可能使用了C#编程语言进行开发,因为C#是.NET框架的主要编程语言,而DNN是基于.NET构建的。同时,提及的标签"vs2008"表明开发过程中...

    Wordpress Illacrimo年度佳3

    【压缩包子文件的文件名称列表】"flickrrss.php":这个文件可能是 Illacrimo 主题的一个组件,专门用于集成Flickr服务的RSS订阅功能。Flickr是著名的照片分享平台,flickrrss.php可能允许用户将他们的Flickr相册无缝...

    多屏管理工具DisplayFusion v9.5 Beta 3.zip

    通过此软件可以让多显示器环境更易用,软件通过控制单显示器或者多显示器窗口位置及大小,集成 Flickr 图片搜索及下载和用纯快捷键以及多显示器任务栏、任务栏按钮,以及可全面自定义的热键等强大功能来控制窗口的...

    FlickrBrowser:使用Flickr API通过关键字针对Android进行简单的Flickr照片搜索

    Flickr,作为知名的图片分享平台,提供了丰富的API接口供开发者调用,使得我们可以轻松地在自己的应用中集成Flickr的功能。本文将详细探讨一个基于Android的Flickr照片搜索应用——FlickrBrowser,它使用了Flickr ...

    flickr的php接口

    通过这种方式,你可以利用phpFlickr-3.1库轻松地构建与Flickr集成的应用,无论是个人项目还是商业用途,都能大大提高开发效率。不断学习和探索Flickr API的更多功能,将使你的应用更加丰富和强大。

    Flickr portlet-开源

    在这种情况下,Flickr portlet是专门设计用来集成Flickr服务的,Flickr是一个著名的在线照片管理和分享平台。 描述中提到的"符合JSR-168"是指这个portlet遵循Java Portlet API 1.0规范(Java Specification Request...

    JQuery slide show using Nano Gallery

    Nano Gallery不仅可以处理本地图片,还能直接集成Flickr、Google Picasa、500px等在线图库,为用户提供更广泛的内容来源。 总之,Nano Gallery作为一款强大的jQuery幻灯片展示插件,凭借其灵活性和易用性,成为了...

    nanogallery2用于在网站中创建漂亮现代和高品质的照片画廊

    7. **社交媒体集成**:可以集成Flickr、Google Photos、Instagram等社交媒体平台的内容,方便用户导入并展示这些平台的图片。 8. **SEO友好**:`nanogallery2` 会生成合适的HTML结构和元数据,对搜索引擎友好,有利...

    flickr.github.io:flickr API 图像搜索使用角度材料

    在IT行业中,API(应用程序接口)是不同软件系统之间交互的关键。Flickr API是一个由Flickr提供的服务,允许开发者...学习并实践这个教程,开发者可以掌握一种强大的工具,用于在自己的项目中集成Flickr的图像资源。

    flickr架构

    标题:"flickr架构" 描述了flickr系统架构的关键组件与设计原则,为读者提供了深入理解这一著名照片分享平台背后的复杂技术体系的机会。 flickr,作为互联网早期的照片分享平台之一,其架构设计不仅支撑了海量用户...

    Firefox Facts(ebook)

    - **简介**:集成Flickr相册预览功能,方便查看照片。 - **应用场景**:适合活跃于Flickr社区的用户。 ##### 43. **Coralize This!** - **简介**:参与Coral项目,贡献内容和评论。 - **应用场景**:适合希望参与...

    Flickr 客户端(附源码)

    9. **测试与调试**:对应用进行全面的单元测试和集成测试,使用调试工具找出并修复问题。 10. **版本控制**:使用Git或其他版本控制系统管理源代码,便于团队协作和版本管理。 总的来说,创建一个Flickr客户端涉及...

Global site tag (gtag.js) - Google Analytics