PHP Facebook GET 请求 - 性别缺失

PHP Facebook GET Request - Gender Missing

我正在开展一个项目,该项目需要获取由 'user_gender' 范围提供的 Facebook 用户性别。目前仍在生产中,我正在使用测试用户并且在获取性别方面遇到了问题。

我创建的测试用户 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 代码中使用的访问令牌完全相同。相同的权限,相同的用户。如您所见,除了性别外,其他都显示正确。

我试图转储 'gender' 字段,但没有显示任何内容。这样做 $response->getGraphUser()->all() 表明没有针对性别提取任何内容,这让我认为这不是我的代码问题,更可能是配置问题。

我不确定在这个过程中到底哪里出错了,但是任何调试的指针都将不胜感激。

答案在评论里,贴出来供参考

您使用 GraphQL Explorer 的目标是哪个图 API?最近的V3?您的软件包面向 V2.10,这可能会导致一些问题。

另请注意,该软件包已将近一年未收到更新,所以这也是罪魁祸首。