Получите информацию рецензента от Facebook Graph API Рейтинговый вызов - PullRequest
0 голосов
/ 15 мая 2018

У меня странная проблема с API Graph Facebook.

Моя цель - получить определенные рейтинги страниц, чтобы отобразить их на веб-сайте.

Я использую JavaScript SDK и следовал всем указаниям документации, касающимся токена доступа к странице.

Вот моя кнопка входа в Facebook для авторизации моего приложения под текущей учетной записью пользователя (в данном случае это мое) с правильной ролью администратора для страницы:

<fb:login-button id="fb-login-btn" scope="manage_pages,pages_show_list" onlogin="checkLoginState();">

Затем я получаю все страницы пользователя с помощью вызова API / me / accounts:

FB.api('/me/accounts', function(response) {

  if(response && !response.errors) {
    const selectList = document.getElementById('fb-page-list');

    // Populate the list
    response.data.forEach(page => {
      var option = document.createElement("option");
      option.value = JSON.stringify({id: page.id, access_token: page.access_token});
      option.text = page.name;
      selectList.appendChild(option);
    });
  }
});

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

Тогда последним шагом является вызов рейтинга страницы:

FB.api(
  '/'+ page.id + '/ratings?access_token='+ page.access_token +'&limit=10?fields=reviewer{id,name,picture},rating}',
  function(response) {
    console.log(response);
  }
);

Итак, когда я выполняю этот запрос в Graph API Explorer (который предоставляется интерфейсом разработчика Facebook), он отлично работает. Я получаю свои оценки как:

Graph API Explorer

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

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

Первоначально я думал, что речь идет о разрешениях, но в документации говорится, что требуется только 'manage_pages'.

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 29 мая 2018

Та же проблема здесь, но с PHP SDK.Я обратился в центр поддержки Facebook для разработчиков, и они быстро ответили.Причина связана с недавними изменениями, и вот что они предложили мне, согласно документации:

«Для приложений в режиме разработки« пользователи приложения могут получать доступ только к данным пользователей, которые играют роль в приложении.'https://developers.facebook.com/docs/apps/security Пожалуйста, отправьте ваше приложение на рассмотрение и опубликуйте приложение для доступа к информации о пользователе. "

Я еще не пробовал, надеюсь, это поможет решить нашу проблему

...