Просто хотел узнать, есть ли способ разработать приложения Facebook в localhost.
Разработка Facebook в локальном хосте
Ответ 1
Изменить: 2-15-2012. Как использовать аутентификацию FB для локального веб-сайта.
Я нахожу его более масштабируемым и удобным для создания второго приложения для Facebook. Если я создаю MyApp, я сделаю второй, который называется MyApp-dev.
- Создайте новое приложение в https://developers.facebook.com/apps
- (новый 2/15/2012) Установите флажок
Website
в разделе "Выберите, как ваше приложение интегрируется с Facebook" (В последней версии Facebook вы можете найти это в разделе "Настройки" > "Основные" > "Добавить платформу", затем выберите веб-сайт). - Установите URL-адрес сайта (НЕ поле доменов приложений) на http://www.localhost:3000 (этот адрес предназначен для Ruby on Rails, при необходимости измените)
- В своем инициализаторе приложения введите код для обнаружения среды
- Пример Rails 3 кода
if Rails.env == 'development' || Rails.env == 'test' Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' end else # Production Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET' end end
- Пример Rails 3 кода
Я предпочитаю этот метод, потому что, как только он настроен, коллеги и другие машины не имеют дополнительной настройки.
Ответ 2
Конечно, вы можете просто добавить url localhost (без "http" ) в свой app_domain, а затем добавить в свой site_url http://localhost
(с http)
Обновление
Facebook немного изменит ситуацию, просто перейдите в настройки приложения и в URL-адресе сайта просто добавьте http: //localhost
и оставьте домен приложения пустым
Ответ 3
ПРИМЕЧАНИЕ. С 2012 года Facebook позволяет зарегистрировать "localhost" в качестве URL-адреса возврата. Вам по-прежнему может потребоваться аналогичное обходное решение для других поставщиков (т.е. Microsoft one).
Если вам нужно настоящее доменное имя, зарегистрированное в Facebook (например, my.really.own.domain.com), вы можете локально перенаправлять запросы в этот домен на свой компьютер. Самый простой подход к работе в любой операционной системе - это изменение файла "hosts" для сопоставления домена с 127.0.0.1 (см. http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA и https://serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file).
Я обычно использую Fiddler для этого (для Windows с локальным IIS) - см. примеры http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp.
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
Хост файловый подход подходов не работает с Visual Studio Development Server, так как он требует, чтобы входящие URL-адреса были localhost/127.0.0.1. Если вам нужно работать с ним (или, возможно, с помощью IIS express), чтобы переопределить хост - Использование Fiddler с IIS7 Express
Ответ 4
Вот моя конфигурация, и она отлично работает для PHP API:
домен приложения
http://localhost
URL сайта
http://localhost:8082/
Ответ 5
Facebook больше не разрешает URL-адрес обратного вызова "localhost" для приложений FBML Facebook
Ответ 6
С новым центром разработки теперь стало проще:
1) Оставьте домены приложений пустыми.
2) Нажмите "Добавить платформу"
3) URL-адрес сайта должен равняться полному пути вашего локального хоста.
4) Сохранить изменения
Ответ 7
Я только что обнаружил обходной путь: вы можете сделать свою локальную машину доступной с помощью http://localtunnel.com. Вам нужно (временно) изменить некоторые URL-адреса, используемые в вашем коде приложения /html, чтобы ссылки указывали на временный домен, но по крайней мере facebook может дойти до вашей машины.
Ответ 8
В основных настройках вашего приложения (https://developers.facebook.com/apps) в разделе "Настройки- > Основные- > Выберите, как ваше приложение интегрируется с Facebook...
Используйте "URL-адрес сайта" и "URL-адрес мобильного сайта:", чтобы сохранить URL-адреса вашего производства и разработки соответственно. Оба сайта будут допущены к аутентификации. Я просто использую Facebook для аутентификации, поэтому мне не нужны функции перенаправления мобильных сайтов. Обычно я изменяю "URL мобильного сайта:" на мой сайт "localhost: 12345", пока я тестирую аутентификацию, а затем возвращаю его в нормальное состояние, когда я закончил.
Ответ 9
Есть! Мое решение работает при создании приложения, но вы хотите использовать аутентификацию на вашем веб-сайте. Это решение ниже НЕ требуется, если вы хотите создать приложение, интегрированное на страницу FB.
Дело в том, что вы не можете поместить "localhost" в качестве домена на странице конфигурации facebook вашего приложения. Причины безопасности?
Вам нужно перейти в файл хоста, в OSX/Linux и т.д./хосты, и добавить следующую строку: 127.0.0.1 dev.yourdomain.com
Домен, который вы кладете, что хотите. Одна ошибка заключается в том, чтобы добавить эту строку: localhost dev.yourdomain.com(по крайней мере, на снежном барсе osx в не работает).
Затем вам нужно очистить кэш DNS. В OSX: введите dscacheutil -flushcache в терминал. Наконец, вернитесь на сайт разработчика онлайн-facebook, а на странице конфигурации вашего приложения вы можете добавить домен "dev.yourdomain.com".
Если вы используете такую программу, как Mamp, Easyphp или что-то еще, убедитесь, что для Apache порт равен 80.
Это решение должно работать для Windows, поскольку оно также имеет файл hosts. Тем не менее, насколько я помню, Windows 7 больше не использует этот файл, но этот трюк должен работать, если вы обнаружите способ заставить окна использовать файл hosts.
Ответ 10
Вы должны выбрать Facebook-facebook 'facebook login' и включить Client OAuth Login, 'Web OAuth Login' и 'Embedded Browser OAuth Login', тогда даже если вы укажете localhost url. Он будет работать
Ответ 11
Я думаю, что вы должны иметь возможность разрабатывать приложения, используя веб-сервер разработки Visual Studio. Начните новое приложение FaceBook: http://www.facebook.com/developers/. Затем задайте настройки для URL-адреса сайта и URL-адреса холста для исполняемого экземпляра вашего веб-сайта, например: http://localhost: 1062/
Вот несколько ссылок, которые помогут вам начать работу с FaceBook:
- http://thinkdiff.net/facebook/graph-api-iframe-base-facebook-application-development/,
- http://nagbaba.blogspot.com/2010/05/experiencing-facebook-javascript-sdk.html,
- http://apps.facebook.com/thinkdiffdemo/
Надеюсь, что это поможет.
Ответ 12
Попробуйте это ---
https://www.facebook.com/help/community/question/?id=589302607826562
1 - Нажмите "Приложения", а затем выберите свое приложение.
2 - Нажмите кнопку "Настройки" в левой части экрана.
3 - В основных настройках нажмите кнопку "Добавить платформу" ниже конфигурации настроек.
4 - Выберите сайт в диалоговом окне платформы.
5 - Введите URL-адрес (здесь работает localhost).
6 - В текстовом вложенном домене приложений добавьте свой домен, который соответствует URL-адресу.
7 - Сохраните настройки.
Ответ 13
Предположим, что вы зарегистрировали свое приложение как:
app.domain.com
Вам просто нужно изменить файл /etc/hosts, добавив
127.0.0.1 dev01.app.domain.com
Затем измените конфигурацию Apache
ServerName dev01.app.domain.com
и перезапустите apache.
Вам нужно указать URL-адрес в переменной, чтобы использовать его в качестве параметра XML для некоторых вызовов:
<fb:login-button registration-url="http://<?=$URL?>/register" />
Ответ 14
У вас недостаточно комментариев, чтобы прокомментировать верхний проголосовавший ответ, но по крайней мере в моей среде рельсов (работает 4), rails s находится в http://localhost:3000
, а не http://www.localhost:3000
. Когда я изменил его на http://localhost:3000
, он работал отлично. Нет необходимости редактировать файлы хостов.
Ответ 15
Попробуйте следующее:
Его работали для меня...
Ответ 16
это работает в июне 2018 года, даже после требования HTTPS. Кажется, тестовое приложение не требует https:
создать тестовое приложение: https://developers.facebook.com/docs/apps/test-apps/
затем в тестовом приложении выполните следующие шаги в этом видео: https://www.youtube.com/watch?v=7DuRvf7Jtkg
Ответ 17
Мое решение отлично работает в локальном хосте.....
Для URL-адресов сайта используйте http://localhost/
и для доменов приложений используйте localhost/folder_name
Остальное все одинаково....... отлично работает
(хотя его шоу redflag в домене приложений... App работает нормально)
Ответ 18
app domain : localhost
site URL : http://localhost:4440/
работал у меня с новым интерфейсом.
Ответ 19
Просто перейдите на панель инструментов приложения на вкладке входа в Facebook, нажмите "Настройки", затем выберите "Принудительно использовать HTTP Нет", сохраните настройки .
Ответ 20
Приложение будет нормально работать в localhost: 3000, вам просто нужно указать адрес https, по которому приложение будет работать, когда оно будет в производственном режиме.
Вариант 2 - предоставить URL-адрес или веб-сайт вашей герои, который позволяет вам использовать образец приложения в производственном режиме.