API-интерфейс Google Graph API, возвращающий пустой набор данных

Я пытаюсь использовать API-интерфейс Graph API для создания маркера доступа для моего приложения для просмотра моих страниц с помощью "me/accounts". Однако каждый раз, когда я пытаюсь это сделать, он возвращает мне пустой набор данных. Я выбрал manage_pages как разрешение и все еще не работает. Не проверяя никаких других разрешений, я могу просматривать "me/likes", "me/movies" и т.д. Я понятия не имею, что я делаю неправильно.

Это то, что я делаю:

https://developers.facebook.com/tools/explorer/

  • Выберите мое приложение в раскрывающемся меню.
  • Нажмите "Получить токен доступа" → Проверьте "manage_pages" → Получить токен доступа
  • Отправить "GET/me/accounts"

Я получаю:

{
  "data": [
  ]
}

Я прошел через десяток различных поисковых запросов Google для ответа на мою проблему и попробовал все, включая создание токенов пользователей и токенов приложений. Любая помощь приветствуется. Спасибо!

ОБНОВЛЕНИЕ 6/27/13 Я нашел пару ресурсов, которые, как говорят, включают publish_stream как разрешение, которое я пытался. Тем не менее успеха нет. Кроме того, кто-то предположил, что это может быть проблемой ограничений, но у моего приложения нет ограничений (кроме значения по умолчанию 13 +).

Ответ 1

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

Ответ 2

У меня была аналогичная проблема. Несколько решений по stackoverflow в основном объяснили проблему отсутствием необходимых разрешений. Проверьте необходимые разрешения, используя API-интерфейс графика API или documentation (В таблицах есть столбец с разрешениями для каждого поля). Некоторые рекомендации заключались в том, чтобы использовать область действия, чтобы конкретно указать, какие разрешения вам нужны в кнопке входа или при вызове api. Например:

FB.login(function (response) {         
if (response.authResponse) {        
    console.log('Welcome!  Fetching your information.... ');        
} else {       
console.log('User cancelled login or did not fully authorize.');        
}        
}, { scope: 'email,publish_stream,user_birthday,user_location' });  

У меня была другая проблема, когда я дважды проверял все права, установленные для панели управления приложениями, которые были правильными, но при входе в систему я указал область с набором разрешений, которые, казалось, переопределили настройки приложения.:( Я нашел это странным, но я исправил его, включив другие разрешения в область видимости, и моя проблема была решена.

Эффективный способ проверить, разрешены ли права на код, использовать следующий код:

 FB.api({ method: 'fql.query', query: 'SELECT     user_status,friends_status,user_photos,friends_photos,user_location,friends_location FROM     permissions WHERE uid=me()' }, function(resp) {        
for(var key in resp[0]) {        
    if(resp[0][key] === "1")        
        console.log(key+' is granted');        
    else        
        console.log(key+' is not granted');        
}        
});   

P.S: На одном посту я также нашел решение, в котором упоминалось, что человек смог получить данные после удаления приложения из своей учетной записи Facebook и тестирования, добавив его снова. Также убедитесь, что если вы изменили разрешения на панели управления приложениями, вы выходите из приложения и регистрируетесь перед тестированием.

Я потратил впустую более 3 часов, пытаясь исправить эту проблему, и документация на facebook не помогла мне, поэтому надеюсь, что это поможет кому-то!

Ответ 3

У меня была аналогичная проблема. Я также был "Менеджером" для страницы (со страницы admin на странице facebook: "Редактировать страницу" > "Управление ролями администратора" ). Недостаточно этого - нужно также убедиться, что используемый токен доступа имеет расширенное разрешение "manage_pages".

Также см. документацию по Facebook (в частности раздел 2).

Screenshot of the graph explorer access token generator

Ответ 4

Я не знал, что возможность просмотра моих "страниц" из /me/account потребовала, чтобы у меня было дополнительное разрешение доступа к странице "admin". Как только владелец приложения предоставил мне его в приложении, я смог увидеть данные в проводнике графики.

Ответ 5

У меня также была такая же проблема, когда я получал фотографии своего альбома. решил это, добавив в мой токен разрешение "user_status".

Ответ 6

Я включил почти все разрешения (только для разработки).

Я успешно создаю пост через API и получаю его ID +, помещая некоторые понравившиеся сообщения в сообщение.

Но при использовании get/{post-id}/insights/post_reactions_like_total данные всегда пусты... получая только предыдущие ссылки, хотя эта метрика должна быть продолжительностью жизни. (Тестирование в API-интерфейсе Graph API)

Кто-нибудь знает причину, почему?