Вопрос

Я работаю над небольшой игрой, где пользователь может играть один раз каждый день. Я буду отслеживать это через 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top