Я планирую подключиться к чату Facebook с моего локального хоста. Мне нужно будет получить ключ сеанса от Facebook. Когда я даю URL-адрес сайта как localhost:8080
или ip-address:8080
он не работает.
Я читал о настройке двух приложений с двумя разными ключами API, одно из которых работает на dev m / c, а другое на localhost, но я не совсем понял.
Может ли кто-нибудь объяснить, как запустить приложение Facebook на локальном хосте?
facebook
localhost
facebook-chat
восторженный
источник
источник
Ответы:
Я написал об этом учебник некоторое время назад.
Самым важным моментом является «URL сайта»:
Где структура папок выглядит примерно так:
РЕДАКТИРОВАТЬ:
Кавья : как сервер FB распознает мой локальный хост даже без IP или порта ??
Я не думаю, что это имеет какое-либо отношение к Facebook, я думаю, поскольку
src
параметр iframe загружается со стороны клиента, он будет обрабатывать ваш локальный URL-адрес, как если бы вы поместили его прямо в свой браузер.Например, на вашем онлайн-сервере есть файл с содержимым (например
online.php
):И в корневом каталоге localhost есть файл
test.php
:Теперь посетите,
http://your_domain.com/online.php
вы увидите содержимое вашего файла localhost!Вот почему подписки в реальном времени и деавторизованные обратные вызовы (просто упомянуть) не работают с URL-адресами localhost! потому что Facebook будет пинговать (отправлять http-запросы) на эти URL-адреса, но, очевидно, сервер Facebook не будет переводить эти URL-адреса на ваш!
источник
http://localhost:8080/auth/index.html
и на веб - странице , который дает ошибку являетсяhttp://localhost:8080/auth/index.html
и channelurl линия:channelUrl : '//localhost:8080/auth/channel.html',
если вы используете localhost:
в Facebook -> Настройки -> Основные, в поле «Домены приложений» напишите «localhost», затем нажмите «+ Добавить платформу» и выберите «Веб-сайт»,
он создаст два поля: «URL мобильного сайта» и «URL сайта», в «URL сайта» снова напишите «localhost».
работает для меня.
источник
Вы также можете отредактировать файл hosts и создать локальный вариант вашего домена.
пример
Если ваш реальный адрес приложения facebook - «example.com», вы можете создать домен «localhost.example.com» (доступный только с вашего компьютера) в своем файле «hosts», указывающий на «localhost», и запустить свой локальный веб-сайт в этом домене. Таким образом можно обмануть Facebook.
источник
C:/Windows/System32/drivers/etc/hosts
или на Ubuntu в/etc/hosts
В основных настройках вашего приложения ( https://developers.facebook.com/apps ) в разделе Настройки-> Основные-> Выберите, как ваше приложение интегрируется с Facebook ...
Используйте «URL-адрес сайта:» и «URL-адрес мобильного сайта:» для хранения рабочих URL-адресов и URL-адресов разработки. Оба сайта смогут пройти аутентификацию. Я использую Facebook только для аутентификации, поэтому мне не нужны никакие функции перенаправления мобильного сайта. Обычно я меняю "URL мобильного сайта:" на свой сайт "localhost: 12345" во время тестирования аутентификации, а затем возвращаю его в нормальное состояние, когда закончу.
источник
2013 август. Facebook не позволяет устанавливать домен с портом для приложения, например «localhost: 3000».
Таким образом, вы можете использовать https://pagekite.net для перехода
localhost:port
на правильный домен.Разработчики Rails могут использовать http://progrium.com/localtunnel/ бесплатно.
источник
Итак, я получил это работать сегодня. Мой URL-адрес
http://localhost:8888
. Домен, который я дал facebook, - localhost. Я думал, что это не работает, потому что я пытался получить данные с помощью этогоFB.api
метода. Я продолжал получать "неопределенное" имя и изображение без источника, поэтому определенно не имел доступа к Графику.Позже я понял , что моя проблема была на самом деле , что я только пропусканием первого аргумента
/me
кFB.api
, и у меня не было знамение. Таким образом, вам нужно будет использоватьFB.getLoginStatus
функцию для получения токена, который нужно добавить в/me
аргумент.источник
просто укажите URL-адрес вашего холста как http: // localhost / app_path .
источник
Хорошо, я не уверен, что случилось с этими ответами, но я дам вам знать, что сработало для меня, как посоветовал старший разработчик на моей работе. Я работаю в Ruby on Rails и использую код JavaScript Facebook для получения токенов доступа.
Проблема: для аутентификации Facebook берет URL-адрес из вашей адресной строки и сравнивает его с тем, что у них есть в файле. Они не позволяют вам использовать
localhost:3000
по какой-либо причине. Тем не менее, вы можете использовать полностью выдуманное доменное имя, напримерyoursite.dev
, запустив локальный сервер и указавyoursite.dev
на него127.0.0.1:3000
или там, где указывал ваш localhost.Шаг 1. Установите или обновите Nginx
$ brew install nginx
(установить) или$ brew upgrade nginx
(обновить)Шаг 2. Откройте файл конфигурации nginx.
/usr/local/etc/nginx/nginx.conf
(обычно здесь)/opt/boxen/config/nginx/nginx.conf
(если вы используете Boxen)Шаг 3 Добавьте этот фрагмент кода в свой
http {}
блокЗамените
proxy_pass
там, где хотите указатьyoursite.dev
. В моем случае он заменял localhost: 3000 или аналогичный127.0.0.1:3000
Шаг 4. Отредактируйте файл hosts
/etc/hosts
на Mac, чтобы включитьЭтот файл направляет домены на localhost. Nginx прослушивает localhost и перенаправляет, если он соответствует правилу.
Шаг 5 : Каждый раз, когда вы в дальнейшем используете среду разработки, вы используете
yoursite.dev
в адресной строке вместо того,localhost:3000
чтобы Facebook правильно входил в систему.источник
Forward - отличный инструмент для локальной разработки приложений facebook, он поддерживает SSL, поэтому сертификат не проблема.
https://forwardhq.com/in-use/facebook
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я один из разработчиков
источник
Вам необходимо настроить приложение для работы через https для localhost
Вы можете выполнить приведенные здесь шаги, чтобы настроить HTTPS на ubuntu.
https://www.digitalocean.com/community/articles/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-12-04
Вам необходимо сделать следующие шаги:
установить apache (если у вас его нет)
Шаг 1. Активируйте модуль SSL
Шаг второй - создание нового каталога
Шаг 3. Создайте самоподписанный сертификат SSL
С помощью этой команды мы создадим самозаверяющий сертификат SSL и ключ сервера, который его защищает, и поместим их оба в новый каталог. Самая важная строка - «Общее имя». Введите здесь свое официальное доменное имя или, если у вас его еще нет, IP-адрес вашего сайта.
Шаг четвертый - настройка сертификата
Найдите следующие строки и отредактируйте их со своими настройками
Шаг пятый - активируйте новый виртуальный хост
источник
Трюк:
Используйте MAMPPRO и создайте: имя сервера: ТОЧНЫЙ адрес вашего веб-сайта (например: helloworld.com) на вашем сайте на вашем диске
На Facebook: вы также можете сохранить исходный URL-адрес сайта (например, helloworld.com)
Теперь вы понимаете, что когда вы вводите свой веб-сайт в адресную строку, вы находитесь на местном уровне ! ..и когда вы хотите быть в сети, просто отключите сервер на MAMP PRO ..
:)
источник
Ни один из приведенных выше ответов не помог мне. Я использую FB API 2.5. У меня была комбинация проблем, которые после решения привели к успеху
Вероятно, это не идеально, как изменение динамического IP, и можно было бы использовать DynDNS или что-то подобное, чтобы сделать IP более «статическим», но у меня это сработало.
источник
В моем случае проблема заключалась в том, что хром блокировал запрос CORS с localhost: 4200 на веб-сайт facebook api. Запуск Chrome с этим параметром: "YOUR_PATH_TO_CHROME \ Google \ Chrome \ Application \ chrome.exe" --disable-web-security --user-data-dir = "c: / chrome отлично работал при разработке. Даже без локального хоста добавлено в настройки приложения facebook.
источник