Токен доступа от JavaScript API
-
26-10-2019 - |
Вопрос
Я работаю над небольшой игрой, где пользователь может играть один раз каждый день. Я буду отслеживать это через Facebook ID
.
Весь бэкэнд сделан, и игра работает, когда я вручную вставляю свой Facebook ID
а также access token
.... но как мне получить access token
Из API Facebook?
Я попробовал это:
FB.init({
appId: 'my app id',
channelURL : '//my domain/channel.html', // Channel File
cookie: true,
xfbml: true,
status: true
});
FB.getLoginStatus(function (response) {
if (response.session) {
alert(response.session.access_token);
} else {
alert("not logged in");
}
});
Но он всегда предупредил «не вошел в систему», даже если я вошел в Facebook.
(Мой домен и идентификатор приложения скрыты из -за конфиденциальности моего клиента)
Решение
Вы должны определенно Мигрировать в OAuth2, (если у вас нет - вы должны), вы можете попробовать это:
FB.getLoginStatus(function(response) {
if (response.authResponse && response.status=="connected") {
uid = response.authResponse.userID;
token = response.authResponse.accessToken;
// user is logged in
}
});
Для JavaScript SDK все, что вам нужно сделать, чтобы перейти на OAuth2, - это дополнительный параметр к инициализации:
oauth : true
Не связан с StackOverflow