Разработка Facebook в локальном хосте

Просто хотел узнать, есть ли способ разработать приложения Facebook в localhost.

Ответ 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, при необходимости измените)

enter image description here

  • В своем инициализаторе приложения введите код для обнаружения среды
    • Пример 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
      

Я предпочитаю этот метод, потому что, как только он настроен, коллеги и другие машины не имеют дополнительной настройки.

Ответ 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. Он будет работать enter image description here

Ответ 11

Я думаю, что вы должны иметь возможность разрабатывать приложения, используя веб-сервер разработки Visual Studio. Начните новое приложение FaceBook: http://www.facebook.com/developers/. Затем задайте настройки для URL-адреса сайта и URL-адреса холста для исполняемого экземпляра вашего веб-сайта, например: http://localhost: 1062/

Вот несколько ссылок, которые помогут вам начать работу с FaceBook:

Надеюсь, что это поможет.

Ответ 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

Попробуйте следующее:

https://ngrok.com/

Его работали для меня...

Ответ 17

Мое решение отлично работает в локальном хосте..... Для URL-адресов сайта используйте http://localhost/ и для доменов приложений используйте localhost/folder_name Остальное все одинаково....... отлично работает (хотя его шоу redflag в домене приложений... App работает нормально)

Ответ 18

app domain : localhost

site URL : http://localhost:4440/

работал у меня с новым интерфейсом.

Ответ 19

Просто перейдите на панель инструментов приложения на вкладке входа в Facebook, нажмите "Настройки", затем выберите "Принудительно использовать HTTP Нет", сохраните настройки enter image description here.

Ответ 20

Приложение будет нормально работать в localhost: 3000, вам просто нужно указать адрес https, по которому приложение будет работать, когда оно будет в производственном режиме.
Вариант 2 - предоставить URL-адрес или веб-сайт вашей герои, который позволяет вам использовать образец приложения в производственном режиме.

enter image description here