Работы приложения Facebook на localhost



Я планирую подключиться к Facebook чат с моего localhost. Мне нужно будет получить ключ сеанса от Facebook. Когда я даю URL-адрес сайта в localhost:8080 или ip-address:8080 он не работает.



Я читал о настройке двух приложений с двумя разными ключами API, один из которых работает на dev m/c, а другой на localhost, но я не совсем понял.



может ли кто-нибудь объяснить, как запустить приложение Facebook на localhost?

760   12  

12 ответов:

Я написал учебник об этом некоторое время назад.

наиболее важным моментом является "URL сайта":

URL сайта:http://localhost/app_name/

где структура папок что-то вроде:

app_name
¦   index.php
¦
+---canvas
¦   ¦   index.php
¦   ¦
¦   +---css
¦           main.css
¦           reset.css
¦
+---src
        facebook.php
        fb_ca_chain_bundle.crt

EDIT:
Kavya:как сервер FB распознает мой локальный хост даже без IP или портвейн??

Я не думаю, что это имеет какое-либо отношение к Facebook, я Угадай С iframe src параметр загружается с клиентской стороны, он будет обрабатывать ваш локальный URL, как если бы вы поместили его непосредственно в свой браузер.

например, есть файл на вашем онлайн-сервере с контентом (например,online.php):

<iframe src="http://localhost/test.php" width="100%" height="100%">
    <p>Not supported!</p>
</iframe>

и в вашем корневом каталоге localhost есть файл test.php:

<?php echo "Hello from Localhost!"; ?>

сейчас http://your_domain.com/online.php вы вы увидите содержимое вашего файла localhost!

вот почему подписки в реальном времени и деавторизировать обратные вызовы (просто упомянуть) не работа с URL-адресами localhost! потому что Facebook будет пинговать (отправлять http-запросы) на эти URL-адреса, но, очевидно, сервер Facebook не будет переводить эти URL-адреса на ваш!

Если вы используете localhost:

в Facebook-->Настройки-->Основные, в поле "Домены приложений" напишите " localhost", затем нажмите кнопку "+ Добавить платформу "выберите" веб-сайт",

он создаст два поля "мобильный URL сайта" и " URL сайта", в поле " URL сайта "снова напишите"localhost".

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

вы также можете редактировать файл hosts и создавать локальные варианты вашего домена.

пример

Если ваш реальный адрес приложения facebook "example.com" вы можете создать "localhost.example.com "(доступно только с вашего ПК) домен в вашем файле" hosts", указывающий на" localhost " и запустите свой локальный сайт под этим доменом. Вы можете обмануть Facebook таким образом.

в основных настройках Вашего приложения (https://developers.facebook.com/apps) в разделе Настройки- > Основные - > выберите способ интеграции вашего приложения с Facebook...

использовать "URL сайта:" и "мобильные URL-адреса сайта:" о проведении производственной и URL развития. Оба сайта будут разрешены для аутентификации. Я просто использую Facebook для аутентификации, поэтому мне не нужны никакие функции перенаправления мобильных сайтов. Я обычно меняю "url мобильного сайта:" на мой сайт "localhost:12345", пока я проверка подлинности, а затем установить его обратно в нормальное состояние, когда я закончу.

август 2013 года. Facebook не позволяет установить домен с портом для приложения, например "localhost:3000".

Так что вы можете использовать https://pagekite.net туннелировать ваш localhost:port для соответствующего домена.

Rails разработчики могут использовать http://progrium.com/localtunnel/ бесплатно.

  • Facebook позволяет только один домен для приложения в то время. Если вы пытаетесь добавить еще один, как localhost, он покажет какую-то другую ошибку о домене. Обязательно используйте только один домен для обратного вызова и для настройки домена приложения в то время.

мне сегодня на работу. Мой URL-адрес http://localhost:8888. Домен, который я дал facebook, - это localhost. Я думал, что это не работает, потому что я пытался вытащить данные с помощью FB.api метод. Я продолжал получать "неопределенное" имя и изображение без источника, поэтому определенно не имел доступа к графику.

позже я понял, что моя проблема заключалась в том, что я только передал первый аргумент /me до FB.api и у меня не было маркера. Так что вам нужно будет использовать FB.getLoginStatus функция для получения токена, который должен быть добавлен в

просто укажите 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

server {
  listen       yoursite.dev:80;
  server_name  yoursite.dev;
  location / {
    proxy_pass http://127.0.0.1:3000;
  }
}

Шаг 4: редактировать файл hosts, в /etc/hosts на Mac включить

127.0.0.1   yoursite.dev

этот файл направляет домены на localhost. Nginx слушает на localhost и перенаправляет, если он соответствует правилу.

Шаг 5: каждый раз, когда вы используете среды разработки будем вперед, вы используете yoursite.dev в адресной строке вместо localhost:3000 Так Facebook регистрирует вас правильно.

Forward-отличный инструмент для помощи в разработке приложений facebook локально, он поддерживает SSL, поэтому cert-это не проблема.

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 (если у вас нет)

sudo apt-get install apache2

Шаг первый-активация SSL Модуль

sudo a2enmod ssl
sudo service apache2 restart

Шаг второй-создать новый каталог

sudo mkdir /etc/apache2/ssl

Шаг третий-создайте Самозаверяющий сертификат SSL

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache/ssl/apache.key -out /etc/apache2/ssl/apache.crt

С помощью этой команды мы создадим самозаверяющий сертификат SSL и ключ сервера, который его защищает, и поместим их в новый каталог. Самая важная строка- "общее имя". Введите свое официальное доменное имя здесь или, если у вас его еще нет, ваш сайт IP-адрес.

общее имя (например, полное доменное имя сервера или ваше имя) []:example.com или localhost

Шаг четвертый-настройка сертификата

sudo vim /etc/apache2/sites-available/default-ssl

найдите следующие строки и отредактируйте их с вашими настройками

Имя_сервера localhost или example.com

SSLEngine на SSLCertificateFile/etc/apache2/ssl / apache.ЭЛТ

SSLCertificateKeyFile /etc/apache2/ssl / apache.ключ

Шаг пятый-активируйте новый виртуальный хост

sudo a2ensite default-ssl
sudo service apache2 reload

трюк:

использовать MAMPPRO и создать: имя сервера: точный адрес вашего сайта (например: helloworld.com) на ваш сайт на вашем диске

На Facebook: Таким образом, вы также можете сохранить свой исходный URL-адрес сайта (например: helloworld.com)

теперь вы понимаете, что при вводе вашего сайта на адресной строке вы находитесь в local! ..и когда вы хотите быть в сети, просто неактивен сервер на MAMP ПРОФЕССИОНАЛ..

:)

ни один из ответов выше не работал для меня. Я работаю на FB API 2.5. Мой был комбинацией вопросов, которые приводят к успеху после решения

  1. создайте тестовое приложение, чтобы убедиться, что оно поддерживается и управляется как такие и могут быть отключены при переходе жить
  2. прочитайте сообщение об ошибке правильно :) - я должен был включить "Web OAuth Login" с "Client OAuth Login"
  3. использовать https://www.whatismyip.com/ чтобы узнать, что мой текущий IP это
  4. создать запись A на моем домене т. е. http://localhost.mydomain.com это указывает на мой текущий IP

Это, вероятно, не идеально, как изменение динамического IP, и, вероятно, можно было бы использовать DynDNS или что-то подобное, чтобы сделать IP более "статичным", но это сработало для меня

Comments

    Ничего не найдено.