我的问题是:如何在使用Facebook SDK登录时从Facebook帐户获取用户位置和家乡?我可以收到电子邮件,姓名等,但是当我想要获得位置和家乡(设置权限)时 - 我只能在使用Facebook SDK中连接到我的应用程序的Facebook个人资料登录时获取它。使用我以外的个人资料登录时,Facebook API仅返回电子邮件和姓名,但会跳过位置和家乡。
我在Graph API资源管理器中设置了用户访问令牌,其中包含user_location和user_hometown的权限(我猜测只为我的帐户设置了访问令牌)。
是否可以为将登录我的应用的所有潜在用户设置这些权限?
代码:
func FBLogin() {
FBSDKLoginManager().logIn(withReadPermissions: ["email", "public_profile", "user_location", "user_hometown"], from: self) {
(result, err) in
if err != nil {
print("FB Login failed:", err)
return
}
self.showUserInfo()
}
}
func showUserInfo() {
FBSDKGraphRequest(graphPath: "/me", parameters: ["fields": "id, location, hometown, name, first_name, last_name, email, picture.type(large)"]).start { (connection, result, err) in
if err != nil {
print("Failed to start graph request")
return
}
print(result)
}
}