Недавно мы запустили новое приложение, и одной из функций было предоставление скидки, если пользователю понравилась определенная страница.Я успешно проверил функциональность на многочисленных аккаунтах, и мы продолжили запуск.Мы использовали API графа, чтобы получить список всех страниц, которые им понравились, и проверили, была ли там нужная страница:
https://graph.facebook.com/me/likes?access_token=ACCESS_TOKEN
С нами связались некоторые пользователии предупреждает нас, что они не увидели скидку даже после того, как им понравилась страница.Мы смогли запросить данные для одной из этих учетных записей и заметили следующее.
Когда приложение авторизовано, Facebook отправляет их на наш веб-сайт с токеном доступа в HTTP-запросе (который мы запрашиваем для графикаВызовы API).
https://example.com/?ref=ts
POST /?ref=ts HTTP/1.1
...
Set-Cookie: fbs_uid=%22uid3D%26access_token%3[ACCESS_TOKEN_REMOVED]%26expires%3D1318381200%26sig%3Dd0b6fdf09befedf022cdea8b58887348%22; expires=Wed, 12-Oct-2011 01:00:00 GMT; path=/
Таким образом, вы можете увидеть там токен доступа.Странно то, что когда мы пытаемся сделать вызов API с помощью токена доступа, предоставленного Facebook, он возвращает пустой результат (даже если им понравились страницы) снова - это только для определенных учетных записей .Еще более запутанным является то, что когда мы заходим на страницу разработчиков Facebook, вошедшие в систему как тот же сеанс (https://developers.facebook.com/docs/reference/api/)), и нажимаем ссылку / me / likes, мы получаем полный список лайков пользователя, но с другим токеном доступа..
Таким образом, похоже, что доступ, предоставленный для Facebook, недостаточен при извлечении данных. Это влияет только на определенные учетные записи, но не на другие, поэтому мне интересно, есть ли какая-то проблема конфигурации, но откуда ястоять Я не вижу способа ее решить, поскольку данные, предоставленные Facebook, кажутся неверными.
С токеном доступа, предоставленным Facebook, мы не получаем никаких ошибок (т.е. мы не делаемt «Ошибка проверки токена доступа»), поэтому токен доступа действительно проверяется.