Запрос PHP Facebook GET - пол отсутствует

Я работаю над проектом, который требует получения пола пользователей Facebook, предоставленного областью user_gender. В настоящий момент, пока я все еще работаю, я использую тестовых пользователей, и у меня возникли проблемы с определением пола.

Созданный мной тестовый пользователь на 100% имеет область действия user_gender, которая отражается в собственном GraphQL Explorer Facebook, показывающем мне требуемые данные, включая пол. Ниже приведен дамп возвращенного JSON.

Request: /me?fields=first_name,last_name,email,gender
{
  "first_name": "Ullrich",
  "last_name": "Brownman",
  "email": "[email protected]",
  "gender": "male",
  "id": "109073989989984"
}

Все идет нормально. Мои проблемы возникают, когда я пытаюсь получить пол из PHP SDK, а точнее LaravelFacebookSdk (https://github.com/SammyK/LaravelFacebookSdk).

Ниже приведены некоторые фрагменты кода.

$response = $fb->get('/me?fields=first_name,last_name,email,gender', $userCredentials['access_token']);

return response()->json([
      'first_name' => $response->getGraphUser()->getFirstName(),
      'last_name' => $response->getGraphUser()->getLastName(),
      'email' => $response->getGraphUser()->getEmail(),
      'fb_id' => $response->getGraphUser()->getId(),
      'gender' => $response->getGraphUser()->getGender()
    ], StatusCode::OK);

Вот как выглядит возвращенный JSON:

{
    "first_name": "Ullrich",
    "last_name": "Brownman",
    "email": "[email protected]",
    "fb_id": "109073989989984",
    "gender": null
}

Просто чтобы подтвердить, токен доступа, который я использую в проводнике и в коде PHP, точно такой же. Те же разрешения, тот же пользователь. Как видите, отображаются все, кроме пола, и правильно.

Я попытался сбросить поле «пол», но ничего не отображается. Выполнение этого $response->getGraphUser()->all() показывает, что ничего не делается для пола, что заставляет меня думать, что это не проблема с моим кодом и, скорее, проблема конфигурации.

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

На какой API Graph вы нацеливаетесь с помощью GraphQL Explorer? V3? Поскольку ваш пакет нацелен на V2.10. Также обратите внимание, что этот пакет не получал обновлений почти год.

Loek 07.06.2018 12:04

@Loek Ты справился. Я полностью пренебрегал версией, установка на V3.0 работала отлично. Хотели бы вы опубликовать это как решение, чтобы я мог принять его как ответ?

Robert Hucks 07.06.2018 12:22

Рад помочь! Написал ответ для справки :)

Loek 07.06.2018 12:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
307
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ответ был в комментариях, размещенных для справки.

На какой API Graph вы нацеливаетесь с помощью GraphQL Explorer? Недавний V3? Ваш пакет нацелен на V2.10, что может вызвать некоторые проблемы.

Также обратите внимание, что этот пакет не получал обновлений почти год, так что это тоже может быть виновником.

Другие вопросы по теме