Настольное приложение Facebook (в браузере) - вход без хостинга на веб-сервере - PullRequest
0 голосов
/ 20 ноября 2011

Я пытаюсь разработать настольное приложение Facebook, которое работает в браузере (но не на веб-сервере). Строго говоря, у меня есть отдельная веб-страница, которая не принадлежит ни одному домену. Мне нужно найти подходящее решение для входа в систему для этого.

В настоящее время аутентификация Facebook должна быть перенаправлена ​​на другой URI - проблема для меня в том, что я не могу получить токен доступа с этой перенаправленной страницы (dialog / poup) из-за проблем междоменного доступа. Есть ли способ преодолеть это?

Кроме того, поскольку я запускаю страницу по пути к файлу (c: /wamp/www/facebook.html), а не по веб-серверу, события «auth.login» не запускаются после выполнения аутентификации в диалоговом окне. Это ожидаемое поведение?

Любая помощь будет оценена. Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 ноября 2011

Прочтите в FB Auth: http://developers.facebook.com/docs/authentication/

Если ваше приложение может считывать URL-адреса iframe (например, приложение на основе AIR), тогда вы можете рассчитывать на использование потока аутентификации настольного приложения и считывание учетных данных.с URL-адреса ответа, который размещает Facebook: https://www.facebook.com/connect/login_success.html#access_token=...

0 голосов
/ 20 ноября 2011

Используйте локальный веб-сервер и сервер его из http://localhost... Существует множество легких для Windows (Abyss), а также Unix (thttpd).

РЕДАКТИРОВАТЬ: кажется, что это невозможноиспользуя файл: // URL.Я пробовал эту страницу:

<html>
<head>
<script>
function fbLogin() {
  if (window.location.hash) {
      alert("Access token is: "+window.location.hash);
    } else {
      window.location.href = "https://www.facebook.com/dialog/oauth?"
        + "client_id=54715426813&redirect_uri=file:///D:/Herby/Desktop/page.html&response_type=token";
    }
}
</script>
</head>
<body onLoad="fbLogin();">
</body>
</html>

и в диалоге клятвы было указано

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri: Given URL is not permitted by the application configuration.

, что означает, что вы должны заполнить файл: /// введите url в конфигурации вашего приложения.Я попробовал это, но он сказал, что используемый протокол должен быть http или https.Итак, прощайте с Facebook в файле: //

Единственная возможность для настоящих настольных приложений - включить веб-элемент управления, который использует истинные URL-адреса http и так или иначе (через крошечный встроенный сервер или с помощью какого-то хука и насмешек) может использовать такой URL (или, как было указано в другом ответе, вы можете не использовать URL перенаправления и перенаправляться на страницу результатов по умолчанию на Facebook).Но это не то, что вы можете сделать только в браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...