2016-03-03 93 views
1

我試圖訪問郵遞員中的{{url}}/api/v1/auth/facebook,但是我得到以下錯誤:參數app_id是{{url}}/api/v1/auth/facebook所必需的

"The parameter app_id is required"

裏面devise.rb我有以下的配置設置config.omniauth :facebook, Rails.application.secrets.facebook_key, Rails.application.secrets.facebook_secret

config/initializers/omniauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, Rails.application.secrets.facebook_key, Rails.application.secrets.facebook_secret, scope: 'email,age,gender' 
end 

和我耙路線如下:

  GET /api/v1/auth/:provider/callback(.:format)     devise_token_auth/omniauth_callbacks#omniauth_success 
      GET /omniauth/:provider/callback(.:format)      devise_token_auth/omniauth_callbacks#redirect_callbacks 
omniauth_failure GET /omniauth/failure(.:format)        devise_token_auth/omniauth_callbacks#omniauth_failure 
      GET /api/v1/auth/:provider(.:format)       redirect(301) 

我使用以下寶石

gem 'devise_token_auth' 
gem 'omniauth' 
gem 'omniauth-facebook' 

在用戶模型,是下面的代碼段:

devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable, 
      :lockable, :timeoutable, :omniauthable, :omniauth_providers => [:facebook] 

作爲每文檔here,我不應該明確地發送任何參數。 我已經在我的ENV變量中定義了app_id,但是我仍然收到這個錯誤。 我也嘗試用它們的實際值替換參數Rails.application.secrets.facebook_key,但仍然以相同的錯誤結束。

回答

1

你試過把它關掉再重新打開嗎?你的Rails應用程序是。

+0

是的,它的工作。我在這個問題上浪費了幾個小時:( – vipin8169

+1

很酷!我以爲是這個問題。我們都在那裏,很遺憾... – SacWebDeveloper

+0

既然已解決,請接受答案並關閉。謝謝。 – SacWebDeveloper