gpt4 book ai didi

Swift FBSDK 获取用户国家

转载 作者:可可西里 更新时间:2023-11-01 00:58:17 24 4
gpt4 key购买 nike

我目前正在为我的应用程序实现 Facebook 登录,我正在尝试从配置文件中获取以下信息:

名字,姓,性别,和国家。

但是,我似乎只能获取除用户国家以外的所有内容。我试过像这样将我的参数设置到我的 FBSDKGraphRequest:

let parameters = ["fields": "email, gender, user_location, id, first_name, last_name,  picture.type(large)"]

以及我的阅读权限:

loginButton.readPermissions = ["public_profile", "email", "user_location", "user_friends", "user_education_history", "user_birthday"]

我在这里做错了什么?如何获取用户的国家?

非常感谢您的帮助!

最佳答案

您的 readPermissions user_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 不是预先批准的权限。

For More Details go to Graph API Explorer

你可以去Graph API Explorer并试用您的应用程序。通过单击获取 token 获取用户访问 token 生成 token 。单击它将打开权限复选框。选中 user_location

Graph Api Explorer Page

enter image description here

接下来只需单击带有以下获取 参数的提交。确保 location 参数存在,您可以看到如下所示的 JSON。
有一个 location 字典,其中包含 name 由您的国家和城市名称组成的键。

{
"id": "338058996547981",
"name": "Rajan Maheshwari",
"birthday": "04/29/1990",
"location": {
"id": "106517799384578",
"name": "New Delhi, India"
}
}

enter image description here

注意:- 此外,您还必须确保已在 Facebook 个人资料中输入一个地点并将其公开。

enter image description here

当您使用权限运行该应用程序时,您将获得 Facebook 身份验证和这样的警告屏幕。

enter image description here

它将要求进行登录审核,因为某些权限需要在此处进行审核。 Facebook 免费提供的基本权限,不需要任何审核:-

enter image description here

但出于测试目的,您无需任何审查即可获取该位置。但是在将 iOS 应用程序提交到应用商店之前,您需要通过 Facebook 的登录审核以避免该警告消息并获取用户的位置。

关于Swift FBSDK 获取用户国家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39967750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com