gpt4 book ai didi

swift - Facebook 图形 API JSON 电子邮件

转载 作者:搜寻专家 更新时间:2023-11-01 07:30:33 25 4
gpt4 key购买 nike

我正在使用 web Graph API 从 facebook 获取数据。我需要获取用户的电子邮件。

我有一个获取和解析 JSON 数据的函数。我将它与访问 token 一起使用来获取我想要的内容,但我只能获取名称和 ID。

这是我的 Facebook 权限

fbButton.readPermissions = ["public_profile", "email", "user_friends"]

但是,当我从 json 打印我的数组时,我只有

{
"name" : "**********",
"id" : "************"
}

如果我使用 Facebook Graph API Explorer 并创建一个 token ,我就可以访问关于我的所有数据。但是当我快速创建我的 token 时是不可能的。

我还验证了我的 Facebook 应用程序和电子邮件数据已激活。

有人有什么想法可以帮助我吗?

====

编辑 1

这就是我调用图形 API 的方式

// Facebook Delegate Methods
func loginButton(connection: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {

if (error != nil)
{
println("Error")
}
else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if result.grantedPermissions.contains("email")
{
// Do work
}
println("User logged in")
performSegueWithIdentifier("Login", sender: self)
}
}

在这里,当我实例化 fb 登录按钮时

if (FBSDKAccessToken.currentAccessToken() == nil)
{
// User is not already logged
println("No Logged")
loading.hidden = true
fbButton.readPermissions = ["public_profile", "email", "user_friends"]
fbButton.delegate = self
}
else
{
fbButton.hidden = true
println("Already Logged")
performSegueWithIdentifier("Login", sender: self)
println(FBSDKAccessToken.currentAccessToken().permissions)
parseJSON(getJSON("https://graph.facebook.com/me/?access_token=" + FBSDKAccessToken.currentAccessToken().tokenString))
}

最佳答案

您必须明确说明您希望从查询中获得哪些结果。在您的情况下,它应该类似于以下内容:

me?fields=id,name,email

===

额外:我建议您使用 Facebook SDK 中的内置类 FBSDKGraphRequest。您可以执行以下操作:

if FBSDKAccessToken.currentAccessToken() != nil {
FBSDKGraphRequest(graphPath: "me?fields=id,name,email,gender,first_name,last_name,middle_name,birthday", parameters: nil).startWithCompletionHandler({ (connection, result, error) in

// Something went wrong
if (error != nil) {
errorHandler()
return
}

// Parses the returned result
if let userData = result as? NSDictionary {

// Extracts the data points
let fbId = userData[FacebookGraphConstants.Id] as? String ?? ""
let gender = userData[FacebookGraphConstants.Gender] as? String ?? ""
let birthdayString = userData[FacebookGraphConstants.Birthday] as? String ?? ""
let email = userData[FacebookGraphConstants.Email] as? String ?? ""
let firstName = userData[FacebookGraphConstants.FirstName] as? String ?? ""
let middleName = userData[FacebookGraphConstants.MiddleName] as? String ?? ""
let lastName = userData[FacebookGraphConstants.LastName] as? String ?? ""
let displayName = userData[FacebookGraphConstants.DisplayName] as? String ?? ""
}
})
}

关于swift - Facebook 图形 API JSON 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32668413/

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