выборка вкладки страницы и добавление вкладки на страницы Facebook методом graph api fb.api () приводит к ошибке - PullRequest
2 голосов
/ 16 сентября 2011

Я заставляю пользователя войти в мое приложение с разрешением manage_pages путем вызова

FB.login (function (response) {......}, {scope:'manage_pages'});

Я хочу добавить вкладку своего приложения на страницу пользователя. Я получаю все страницы пользователя с вызовом на

FB.api ('/ me / account? access_token = ACCESS_TOKEN', 'get', function (response) {......}, {scope: 'manage_pages'});

Теперь послеизвлекая все страницы, я позволяю пользователю выбрать страницу, к которой он хочет добавить вкладку моего приложения.

когда пользователь выбирает страницу, я вызываю метод

FB.api ('/ PAGE_ID / tabs? appId = myAppId & access_token = page_access_token_fetch_by_above_method', 'post', function (response) {........});

, но метод возвращает ошибку какответ, ответ:

/ ** / FB.ApiServer._callbacks.f17a44c23 ({"error": {"message": "(# 210) Тема должна быть страницей.", "type ":" OAuthException "}});

даже выборки вкладок на странице с foсветящийся вызов приводит к той же ошибке:

FB.api ('/ PAGE_ID / tabs? access_token = page_access_token_fetch_by_above_method', функция (ответ) {});

1 Ответ

7 голосов
/ 03 октября 2011

Для меня это работало так:

    FB.api('/me/accounts', function(response) {
        if (!response || response.error) {
            alert('Facebook get accounts error occured ' + response.error);
        } else {                    
            var pageData = response.data;
   /* looking for the right page specific access_token */
            FB.Array.forEach(response.data, function(onePage) {
                if( onePage.id == page ) {
                    access_token = onePage.access_token;
                }
            });
   /* adding the app to the page */
            FB.api(page + '/tabs', 'POST', { app_id: app, access_token: access_token }, function(response) {
                if (!response || response.error) {
                    alert('Facebook add app error ' + response.error);
                } else {
                    alert('App has been added');
                }
            }); /* end of page/tabs*/
        }
    }); /* end of /me/accounts */

Надеюсь, это поможет.

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