Использование Facebook OAuth 2.0 - Как получить токен доступа? - PullRequest
5 голосов
/ 07 июня 2010

Я новичок в OAuth и пытаюсь использовать Facebook Connect с моим веб-приложением.

Мне удалось получить токен подтверждения, но моя проблема - «получить» токен доступа.Как мне получить это?В документации Facebook говорится, что мне нужно получить токен доступа по следующему URL:

https://graph.facebook.com/oauth/access_token?'
                + 'client_id=XXXXXXXXXXXX& redirect_uri=http://www.mysite.com/fbconn/index.html&display=touch&'
                + 'client_secret=axxxxxcxxxxxxxxxxx&code=' + code;

. Когда я его использую, я вижу токен доступа на пустой странице, но хочу получить его с помощью JavaScript (Ajax), PHP.или что-то.Это возможно?Я думал, что токен доступа будет добавлен в мой URI перенаправления, как код проверки, но я никогда не буду перенаправлен на свою страницу.Что я делаю не так?

Ответы [ 3 ]

6 голосов
/ 12 июня 2010

Вам необходимо добавить &type=user_agent к запросу. Вы получите AuthToken с хеш-маркером в следующем формате.

http://yourredirecturi#code=[accesstoken]

Если вы установите запрос на &type=web_server, вы получите AuthToken в качестве параметра строки запроса: <a href="http://yourredirecturi&code=[accesstoken]" rel="noreferrer">http://yourredirecturi&code=[accesstoken]</a>.

Вот полное объяснение того, как реализовать протокол OAuth Facebook. Примеры кода в ASP.NET MVC, но они должны быть достаточно хорошо переведены на любой язык:

Протокол OAuth 2.0 платформы Facebook и ASP.NET MVC

2 голосов
/ 29 августа 2011

Не стесняйтесь попробовать следующий фрагмент PHP для получения токена доступа:

//Fill in the parts in caps with your app details
$token_url = "https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=THE_CODE_YOU_GOT_FROM_THE_SERVER";

$token=file_get_contents($token_url); //Fetching the token from the URL

echo $token; //This is your access token

Спасибо,

0 голосов
/ 28 июля 2010
$token = file_get_contents("the access token URL"); 

даст вам токен доступа.

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