Я работаю над проектом, который требует захвата пола пользователя Facebook, предоставленного областью 'user_gender'.В настоящее время, пока я в работе, я использую Test Users и у меня возникли проблемы с определением пола.
Созданный мной тестовый пользователь на 100% имеет область действия user_gender, которая отражена в собственных записях Facebook.GraphQL Explorer показывает мне необходимые данные, включая пол.Ниже дамп возвращенного JSON.
Request: /me?fields=first_name,last_name,email,gender
{
"first_name": "Ullrich",
"last_name": "Brownman",
"email": "hhstlboyia_1528304269@tfbnw.net",
"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": "hhstlboyia_1528304269@tfbnw.net",
"fb_id": "109073989989984",
"gender": null
}
Просто чтобы подтвердить, токен доступа, который я использую в Проводнике и в коде PHP, абсолютно одинаков. Те же права, тот же пользователь. Как вы можете видеть, все кромеПол отображается и корректно.
Я попытался сбросить поле «пол», но ничего не отображается. Выполнение этого $response->getGraphUser()->all()
показывает, что ничто не выполняется для пола, что заставляет меня думать, что это не проблемас моим кодом и, скорее всего, с проблемой конфигурации.
Я не уверен, где именно в процессе происходит ошибка, но любые указатели для отладки будут очень благодарны.