您的 readPermissionsuser_location
是正确的,但 country/location 的参数名称不是user_location
。
它是location
。
let parameters = ["fields": "id,location,name,first_name,last_name,picture.type(large),email,birthday,gender,bio,relationship_status"]
确保您已在您的 Facebook 帐户中添加了一个位置并公开了您登录的位置,这样您就完成了。尝试使用您创建 facebook 应用程序的同一 facebook 帐户。
出于测试目的,您可以通过警告消息(如下面的屏幕截图所示)获取您的位置。但在将您的应用程序提交到应用商店之前,您需要通过 facebook 的登录审核,因为user_location
这不是预先批准的权限。
有关更多详细信息,请转到 Graph API Explorer
您可以转到Graph API Explorer并尝试使用您的应用程序。通过单击Get Token和Get User Access Token生成一个令牌。单击它将打开权限复选框。保持user_location检查。
接下来只需单击带有以下获取参数的提交。确保位置参数在那里,您可以看到如下所示的 JSON。
有一个带有名称键的位置字典,其中包含您的国家和城市名称。
{
"id": "338058996547981",
"name": "Rajan Maheshwari",
"birthday": "04/29/1990",
"location": {
"id": "106517799384578",
"name": "New Delhi, India"
}
}
注意: - 您还必须确保您在 Facebook 个人资料中输入了一个位置并将其公开。
当您使用权限运行应用程序时,您将获得 Facebook 身份验证,并显示类似这样的警告屏幕。
它将要求登录审核,因为此处需要审核某些权限。facebook免费提供的不需要任何审查的基本权限是:-
但出于测试目的,您无需任何审查即可获得该位置。但在您将 iOS 应用程序提交到应用商店之前,您需要通过 Facebook 的登录审核以避免该警告消息并获取用户的位置。