Приложение Facebook: localhost больше не работает как домен приложения
Я пишу игру для Facebook, используя Rails и jQuery. Поскольку я начал использовать SDK для Javascript Facebook, использование localhost в качестве домена приложения, похоже, очень хорошо работает. Я смог проверить свою игру как локально, так и на Heroku.
В прошлый день кажется, что Facebook сделал большое обновление своего пользовательского интерфейса для разработчиков. Теперь, если я добавлю localhost в качестве домена приложения, он вызывает следующую ошибку:
Это должно быть получено из URL холста, URL защищенного холста, URL-адреса сайта, URL-адрес мобильного сайта, URL-адрес страницы или URL-адрес страницы защищенной страницы. Проверьте и исправьте следующие домены: localhost
Моя игра также теперь не работает локально, и я получаю сообщение об ошибке, когда Javascript SDK регистрируется пользователем:
Код ошибки API: 191 API Описание ошибки: Указанный URL не принадлежащее приложению Сообщение об ошибке: Недействительный redirect_uri: данный URL-адрес не разрешен конфигурацией приложения.
Этого не происходит, когда я развертываю свою игру, так как herokuapp.com считается действительным доменом приложения.
Как я должен разрабатывать и тестировать свою игру, если я больше не могу использовать localhost или 127.0.0.1?
Ответы
Ответ 1
Протокол, похоже, продолжает меняться, и принятый ответ не сработал у меня сегодня. В случае, если это помогает другим искателям, вот что мне помогло:
- Все изменения были внесены на странице "Настройки" на вкладке "Основные"
1.) В центре под первым полем опций нажмите "+ Добавить платформу" и выберите "Веб-сайт" (или что-то подходящее для вашего приложения.)
2.) В поле, которое появляется на веб-сайте, который вы только что добавили: URL-адрес сайта: http://localhost:3000/
3.) В поле выше этого (Настройки = > Основные): Домен приложения: localhost
4.) В правом нижнем углу нажмите "Сохранить изменения"
5.) Убедитесь, что код приложения скопирован и вставлен правильно в ваш код. (Идентификатор находится в первом поле на этой странице, если вам это нужно снова.)
Ответ 2
- Перейдите на страницу настроек приложения в http://developers.facebook.com
- Нажмите стрелку вниз в левом верхнем углу (рядом с названием вашего приложения) и нажмите "Создать тестовое приложение" и дайте ему имя
- В разделе "Настройки" > "Основные" этого нового тестового приложения установите "Домены приложений" как "localhost"
- Также установите URL-адрес сайта как "http://localhost:8888" (или любой другой порт, который вы используете).
- ВАЖНО: у этого приложения есть разные идентификаторы приложений и приложений из вашего онлайн-приложения. Итак, последний шаг: убедитесь, что вы обновляете код, который находится на вашем локальном хосте, с помощью приложения App App App и App Secret. Наоборот, код, который находится на реальном сервере, должен использовать основной идентификатор приложения и секрет.
Ответ 3
Вы все еще можете проверить свое приложение, не развертывая его на удаленном сервере, таком как heroku.
Хитрость заключается в обновлении файла etc/hosts
следующим образом:
127.0.0.1 mydomain.com
Затем в настройках приложения Facebook введите [http://] mydomain.com без "[" и "]"
Это сработало для меня таким образом
Ответ 4
Это неверный путь. Вы должны создать тестовое приложение, используя вкладку "Тест" в настройках приложения. И затем вы можете ввести свой URL-адрес этапа разработки (например, localhost) в свое приложение.
Ответ 5
Просто добавьте localhost в качестве URL-адреса вашего холста или мобильного сайта, это позволит вам иметь как localhost, так и herokuapp.com в настройках вашего домена. Затем, как только ваше приложение будет готово, просто удалите его.
Ответ 6
Решение с использованием Firebase
Чтобы это работало на localhost
, порт 3000
, я сделал следующее:
![Создать тестовое приложение]()
- Теперь выберите "+ Создать тестовое приложение" в раскрывающемся списке стрелок (вверху слева).
![введите описание изображения здесь]()
- Добавить
localhost
в домены приложений
![введите описание изображения здесь]()
- Добавить
http://localhost:3000/
в URL сайта с помощью выбранной "+ Добавить платформу"
![введите описание изображения здесь]()
До этого момента я следил за всеми предыдущими ответами, представленными здесь, но ничего не получилось.
Итак...
-
В меню слева выберите "Добавить продукт"
-
Добавить "Facebook Login"
Вам будет представлен карусель рабочего процесса с дефолтным доменом http://localhost:3000/
, нажмите "продолжить" до конца.
-
Выберите "Вход в Facebook" > "Настройки" в меню продукта.
-
Введите свой URI перенаправления Firebase OAuth (найденный при включении входа в Facebook в вашей консоли firebase https://console.firebase.google.com, пример ниже)
![введите описание изображения здесь]()
- Вставить URI и Сохранить.
![введите описание изображения здесь]()
Готово.
Ответ 7
Для всех, кто ходит с этим в 2017 году. Интерфейс снова изменился. Я хотел прокомментировать это, но у меня недостаточно репутации. Локальный URL-адрес вашего приложения теперь должен быть скопирован в три места. В настоящее время (26 октября 2017 года) последовательность:
1.) Нажмите "Настройки" в меню слева.
2.) В центре под первым полем опций нажмите "+ Добавить платформу" и выберите "Веб-сайт" (или что-то подходящее для вашего приложения.)
3.) В поле, которое появляется на веб-сайте, вы только что добавили копию своего URL-адреса сайта localhost (fe http://localhost:3000/)
4.) В поле выше "Домен домена" скопируйте тот же URL
5.) В правом нижнем углу нажмите "Сохранить изменения"
6.) В левом меню в разделе "Продукты" нажмите "Вход в Facebook" (или добавьте его через "+ Добавить товары", если он недоступен)
7.) Теперь вы находитесь в настройках входа в Facebook. Скопируйте тот же URL-адрес в поле "Действительные URI-адреса перенаправления OAuth"
Это должно сработать.
Ответ 8
Попробуйте использовать url с портом, например.
http://localhost:8000/
У меня была такая же проблема и я нашел это решение прямо сейчас.
Ответ 9
Это работает для меня в героике, предмет localhost не работает (для меня). Я надеюсь, что это поможет
1.) В центре под первым полем опций нажмите "+ Добавить платформу" и выберите "Веб-сайт" (или что-то подходящее для вашего приложения.)
2.) В поле, которое появляется на сайте, который вы только что добавили: URL-адрес сайта: http://MYAPP.herokuapp.com/ (замените MYAPP на имя вашего приложения)
3.) В поле выше этого (Настройки = > Основные): Домен приложения: MYAPP.herokuapp.com(замените MYAPP на имя вашего приложения)
4.) В правом нижнем углу нажмите "Сохранить изменения"
Ответ 10
Просто примечание для некоторых других, которые могут бороться с этим, как и я. Мне не удалось заставить это работать с "тестовыми" приложениями. Используя мои фактические настройки приложения (и просто добавив
"http://localhost:3000/"
на мой URL холста), как и все остальные. Кажется, тестовые приложения не равны реальным приложениям.
Ответ 11
Для меня это сработало вот так:
Настройка панели инструментов приложения facebook:
* На вкладке "basic":
1) Оставьте домен приложения пустым.
2) Стирание любой платформы. Значение: нет веб-сайта без холста. (так что поле URL-адреса сайта не заполняется)
* На вкладке "Дополнительно":
3) Я вошел в URI с редиректом действительного OAuth:
http://localhost/myappfolder/redirect.php
4) относительно моего кода,
insdie my c:/xampp/htdocs/localhost/myappfolder/index.php(этот файл делает loginURL):
$helper = new FacebookRedirectLoginHelper('http://localhost/myappfolder/redirect.php');
внутри файла redirect.php:
$helper = new FacebookRedirectLoginHelper('http://localhost/myappfolder/redirect.php');
и я получил сеанс! в конце концов! нет необходимости висеть в конце: P