如何通过 Graph API 获取用户的性别或电子邮件等特定字段

How to get specific fields like gender or email of a user through Graph API

我有这个代码:

import FacebookCore

    let connection = GraphRequestConnection()
    connection.add(GraphRequest(graphPath: "/me")) { httpResponse, result in
      switch result {
      case .success(let response):
        print("Graph Request Succeeded: \(response)")
      case .failed(let error):
        print("Graph Request Failed: \(error)")
      }
    }
    connection.start()

登录成功后执行。现在我得到的只是基本信息,例如姓名或 ID。

不过,我需要性别和电子邮件...所以我尝试了这个:

let params = ["fields": "id, name, gender, email"]

然后:

 connection.add(GraphRequest(graphPath: "/me", parameters: params)) { httpResponse, result in

仍然,我得到了相同的数据,只有 idname 在响应中。

您可以通过此 link 了解用户可以通过 API 获得哪些信息。

除此之外,您需要确保您的 Facebook 应用程序具有正确的权限,并且它们已获得 Facebook 的批准。下面的屏幕截图显示了 Facebook 开发者应用面板中 App Review 选项卡下的已批准权限,您可以在其中看到电子邮件,如果您需要用户电子邮件,则需要该选项。

您可以访问此 link 以了解为您的 Facebook 应用程序获得批准权限的步骤