【问题标题】:How to get contact list from yahoo in rails using OAuth如何使用 OAuth 从 Rails 中的 yahoo 获取联系人列表
【发布时间】:2012-08-28 22:45:27
【问题描述】:

我可以使用 Rails 中的 OAuth gem 成功地从 google 获取联系人。我的 gmail 配置是:

:google=>{
    :key=>"***",
    :secret=>"***",
    :expose => true, 
    :scope=>"https://www.google.com/m8/feeds/" 
  }

现在我想从雅虎和热邮件中获得联系。如何获得该联系人我在我的 oauth_consumer.rb 文件中给出了以下配置

:yahoo=>{
   :client=>:oauth_gem, 
   :expose => true, 
   :allow_login => true, 
   :key=>"**",
   :secret=>"**",
   :scope=>"https://me.yahoo.com"
 }

:hotmail=>{
   :client=>:oauth_gem, 
   :expose => true, 
   :allow_login => true, 
   :key=>"**",
   :secret=>"**"  
 }

当我尝试像在谷歌中所做的那样做同样的事情时,它会给出错误 like undefined methoddowncase' for nil:NilClass`

我也尝试过contacts gem,但无法加载联系人。

【问题讨论】:

    标签: ruby-on-rails-3 oauth yahoo hotmail


    【解决方案1】:

    请尝试使用 OmniContacts https://github.com/Diego81/omnicontacts 这对您有很大帮助。

    1. 在你的 gemfile 中

      gem "omnicontacts"
      
    2. 创建 config/initializers/omnicontacts.rb

      require "omnicontacts"
      
      Rails.application.middleware.use OmniContacts::Builder do
        importer :gmail, "client_id", "client_secret", {:redirect_path => "/oauth2callback", :ssl_ca_file => "/etc/ssl/certs/curl-ca-bundle.crt"}
        importer :yahoo, "consumer_id", "consumer_secret", {:callback_path => '/callback'}
        importer :hotmail, "client_id", "client_secret"
        importer :facebook, "client_id", "client_secret"
      end
      
    3. 创建一个应用到雅虎https://developer.apps.yahoo.com/projects

      这将要求验证您的域。因此,只需将您的 localhost:3000 域更改为 local.appname.com:3000 或更喜欢您的实时服务器...(在本地更改主机 --- sudo gedit /etc/hosts)

    4. 在你的控制器中

        @contacts = request.env['omnicontacts.contacts']
        @user = request.env['omnicontacts.user']
        puts "List of contacts of #{user[:name]} obtained from #{params[:importer]}:"
        @contacts.each do |contact|
          puts "Contact found: name => #{contact[:name]}, email => #{contact[:email]}"
        end
      

    【讨论】:

    • 谢谢尼特,我也试过了。我忘记为自己的问题写答案。但是我已经上传了显示omnicontact 演示的repo。希望一切都在运行,但不能确定 hotmail。 github.com/sonianand11/omnicontacts_example
    猜你喜欢
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多