【问题标题】:How to fix omniauth error with yelp api?如何使用 yelp api 修复omniauth 错误?
【发布时间】:2013-03-26 13:23:58
【问题描述】:

我正在尝试在我的 Rails 应用程序中使用 Yelp API,但在这样做时遇到了麻烦。我正在关注此处的文档 (https://github.com/Yelp/yelp-api/blob/master/v2/ruby/example.rb),但不断收到错误消息。下面是我在控制器中使用的代码:

    require 'rubygems'
    require 'oauth'

    consumer_key = 'private'
    consumer_secret = 'private'
    token = 'private'
    token_secret = 'private-private'

    api_host = 'api.yelp.com'
    @places = Place.all
    consumer = OAuth::Consumer.new(consumer_key, consumer_secret, {:site => "http://#{api_host}"})
    access_token = OAuth::AccessToken.new(consumer, token, token_secret)
    path = "/v2/search?term=restaurants&location=new%20york"
    p access_token.get(path).body

我不断收到的错误是:

cannot load such file -- oauth

我的 Gemfile 中有 gem 'omniauth' 并已运行 bundle install(以及重新启动服务器)但仍然收到此错误...关于如何解决此问题的任何想法?

宝石文件:

source 'https://rubygems.org'

gem 'rails', '3.2.12'
gem 'dynamic_form', '1.1.4'
gem 'sqlite3'
gem 'devise', '2.1.0rc'
gem 'bootstrap-sass', '2.1'
gem 'omniauth'
gem 'httparty'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

group :test, :development do
    gem 'rspec-rails', '~> 2.11'
end

group :test do
    gem 'capybara', '1.1.2'
end

【问题讨论】:

    标签: ruby-on-rails omniauth gemfile


    【解决方案1】:

    根据omniauth documentation,您应该要求“omniauth”,而不是“oauth”

    【讨论】:

    • 当我这样做时,我收到一个错误,提示未初始化常量 PlacesController::OAuth。似乎 Yelp API 已经过时(2 岁)并且仍然使用 OAuth 而不是 Omniauth。我该如何解决这个问题?
    • 正确,因为您正在查看的指南是针对具有不同 API 的不同 gem(此处的 API 表示“一组 gem 类和方法等”,而不是 yelp API - yelp API 没有不在乎你使用的是什么宝石,他们的例子只是旧的)。您需要阅读我上面链接到的omniauth 文档,了解如何使用omniauth gem 进行API 调用,这有点超出了这个问题的范围,并且已经回答elsewhere
    • 这里是 Yelp API 的全域认证策略。不过,它需要更多测试,浏览源代码可能会对您有所帮助。 github.com/dhaneshnm/omniauth-yelp.
    【解决方案2】:

    你应该运行:

    sudo gem install oauth
    

    或者在 Gemfile 中添加 gem oauth

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-28
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      相关资源
      最近更新 更多