gpt4 book ai didi

iOS facebookSDK 获取用户详细信息

转载 作者:IT王子 更新时间:2023-10-29 05:14:56 25 4
gpt4 key购买 nike

我正在使用最后一个 FBSDK(使用 swift)

// MARK: sign in with facebook

func signInWithFacebook()
{
if (FBSDKAccessToken.currentAccessToken() != nil)
{
// User is already logged in, do work such as go to next view controller.
println("already logged in ")
self.returnUserData()

return
}
var faceBookLoginManger = FBSDKLoginManager()
faceBookLoginManger.logInWithReadPermissions(["public_profile", "email", "user_friends"], handler: { (result, error)-> Void in
//result is FBSDKLoginManagerLoginResult
if (error != nil)
{
println("error is \(error)")
}
if (result.isCancelled)
{
//handle cancelations
}
if result.grantedPermissions.contains("email")
{
self.returnUserData()
}
})
}

func returnUserData()
{
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil)
graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in

if ((error) != nil)
{
// Process error
println("Error: \(error)")
}
else
{
println("the access token is \(FBSDKAccessToken.currentAccessToken().tokenString)")

var accessToken = FBSDKAccessToken.currentAccessToken().tokenString

var userID = result.valueForKey("id") as! NSString
var facebookProfileUrl = "http://graph.facebook.com/\(userID)/picture?type=large"



println("fetched user: \(result)")


}

当我打印获取的用户时,我只得到 ID 和名称! ,但我请求了电子邮件、 friend 和个人资料的许可,怎么了???

顺便说一句:我把这个项目从我的 macbook 移到了另一个 macbook(因为我格式化了我的)它在我创建项目的 macbook 上工作得很好,但是在移动项目之后(使用 bitbucket clone)我得到了这个结果。

最佳答案

根据新的 Facebook SDK,您必须使用 FBSDKGraphRequest 传递参数

if((FBSDKAccessToken.currentAccessToken()) != nil){
FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, email"]).startWithCompletionHandler({ (connection, result, error) -> Void in
if (error == nil){
println(result)
}
})
}

文档链接:https://developers.facebook.com/docs/facebook-login/permissions/v2.4

用户对象引用:https://developers.facebook.com/docs/graph-api/reference/user

通过公开个人资料,您可以获得性别:

public_profile (Default)

Provides access to a subset of items that are part of a person's public profile. A person's public profile refers to the following properties on the user object by default:

id
name
first_name
last_name
age_range
link
gender
locale
timezone
updated_time
verified

关于iOS facebookSDK 获取用户详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31383578/

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