Я искал 101 и наткнулся на эту страницу .Как видите, эта ошибка означает Неверный ключ API , поэтому я считаю, что проблема заключается в том, где вы определили свой ключ.
Вы должны настроить свой ключ и свой секрет вотдельный файл (для ясности и безопасности), но помните, что Rails загружает файлы в в алфавитном порядке , поэтому у файла, который определяет эти константы, должно быть имя, которое стоит перед файлом, который конфигурирует oauthподключение.В моем случае я создал файл с именем constants.rb
, который предшествует devise.rb
.Кроме того, убедитесь, что этот файл недоступен для контроля версий.Вы не хотите, чтобы у других людей были ваши ключи и секреты.
# config/initializers/constants.rb
FACEBOOK_KEY = 'string'
FACEBOOK_SECRET = 'string'
Затем настройте соединение в файле devise, если вы используете devise, или в файле omniauth, если вы используете простой omniauth:
# config/initializers/devise.rb|omniauth.rb
require 'omniauth-facebook'
config.omniauth :facebook, FACEBOOK_KEY, FACEBOOK_SECRET
Теперь есть лучший способ сделать это, используя переменные ENV.Я рекомендую Figaro gem , поскольку он действительно упрощает настройку приложений.
Если вы хотите отобразить диалоговую страницу facebook в виде всплывающего окна, вам нужно будет использовать
config.omniauth :facebook, FACEBOOK_KEY, FACEBOOK_SECRET, :display => 'popup'
И следуйте этому вопросу позже по дороге.
И, если вы работаете в Windows, вам понадобится сертификат, чтобы соединение SSL не прерывалось.Решение этой проблемы разъясняется Arcolye здесь .
Наконец, для локального тестирования входа в систему все, что вам нужно сделать, это определить URL вашего сайта как http://localhost:3000/
.Это все, что есть.Вы не должны определить URL своего холста.