{"error":{"message":"缺少client_id参数.","type":"OAuthException","code":101}}

use*_*223 10 ruby ruby-on-rails

我跟随Ryan Bates Screen Cast#360 Facebook身份验证......

当我到达部分我点击链接登录到Facebook我得到一个

{
   "error": {
      "message": "Missing client_id parameter.",
      "type": "OAuthException",
      "code": 101
   }
}
Run Code Online (Sandbox Code Playgroud)

我尝试重新启动服务器,如前所述我拉我的头发试图弄清楚这一点

我在Facebook开发页面上的网址是正确的,我已经按照他的步骤进行了数百次

Pri*_*ain 16

可能是你没有设置envfor FACEBOOK_KEYFACEBOOK_SECRET

在终端(如果你使用的是linux或mac)

$ export FACEBOOK_KEY=zzyzyzyzyzyzzy
$ export FACEBOOK_SECRET=zzyzyzyzyzyzzysbdbdsndnds

#now start rails from same terminal
$ rails s
Run Code Online (Sandbox Code Playgroud)

现在,它将FACEBOOK_KEY和FACEBOOK_SECRET的值传递给应用程序.

或者第二种选择

provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET']
Run Code Online (Sandbox Code Playgroud)

对此

provider :facebook, 'FACEBOOK_KEY', 'FACEBOOK_SECRET'
Run Code Online (Sandbox Code Playgroud)

使用两种方法之间的区别.

第二种类型的缺点是,您需要将密钥保存到代码存储库中.这不是一种安全的方法.