Подтвердить что ты не робот

Пытается получить токен доступа к приложениям

Я попытался получить токен приложения для моего приложения facebook с помощью этого кода:

APP_ACCESS_TOKEN = FB.api(
    "oauth/access_token",
    {client_id: APP_ID, client_secret: APP_SECRET_CODE, redirect_uri: uri},
    function(response){
    console.log(response);
});

который должен выглядеть следующим образом:

GET https://graph.facebook.com/oauth/access_token?
        client_id=YOUR_APP_ID
       &client_secret=YOUR_APP_SECRET
       &redirect_uri=uri

но я получаю сообщение об ошибке:

code: 1
message: "Missing authorization code"
type: "OAuthException"

Что такое код авторизации и как я могу его получить?

4b9b3361

Ответ 1

Получение токена доступа к приложениям

Чтобы получить токен доступа к приложениям, вызовите следующий запрос HTTP GET:

GET https://graph.facebook.com/oauth/access_token?
            client_id=YOUR_APP_ID
           &client_secret=YOUR_APP_SECRET
           &grant_type=client_credentials

API ответит строкой в ​​форме строки запроса формы:

access_token=YOUR_APP_ID|YOUR_APP_ACCESS_TOKEN

Ссылка: http://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/

Ответ 2

https://developers.facebook.com/docs/howtos/login/login-as-app/:

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

И для токена доступа к приложениям, то же самое - вы никогда не должны использовать его на стороне клиента, потому что каждый пользователь может обнаружить его там, а затем начать использовать его для выполнения действий от имени вашего приложения (или изменить многие ваши приложения настройки).

Если у вас есть серверная часть вашего приложения, вы можете просто "построить" токен доступа к нему там, объединив идентификатор приложения и секрет с символом трубы, app_id|app_secret.

Ответ 3

проверьте, есть ли пользователи node.js или JAVASCRIPT.   getLongLiveToken: функция (данные) {

        FB.api('oauth/access_token', {
            client_id: data.client_id, // FB_APP_ID
            client_secret: data.secret, // FB_APP_SECRET
            grant_type: 'fb_exchange_token',
            fb_exchange_token: data.access_token // USER_TOKEN
        }, function (res) {
            if(!res || res.error) {
                console.log(!res ? 'error occurred' : res.error);
            }else{
                var accessToken = res.access_token;
                if(typeof accessToken != 'undefined'){
                }
            }
        });
    }

Ответ 4

Я не уверен, что разоблачение секретности клиента APP в коде - хорошая идея, вы можете взять токен APP из инструмента Facebook "Инструмент токена доступа", просто скопируйте токен в свой код для любого использования https://developers.facebook.com/tools-and-support/

Ответ 5

Вы также можете использовать эту конечную точку POST без генерации токена, просто убедитесь, что ее вызывают с сервера, а не на стороне клиента, где приложение app_secret открыто:

https://graph.facebook.com/?id={url}&scrape=true&access_token={app_id}|{app_secret}