facebook 登录不提供头像或姓名

Posted

技术标签:

【中文标题】facebook 登录不提供头像或姓名【英文标题】:facebook login does not provide profile picture or name 【发布时间】:2016-03-02 15:09:29 【问题描述】:

我已经为我的应用实现了 facebook 登录功能。

单击登录按钮(其类设置为 FBSDKLoginButton)并使用用户名和密码登录后,按钮的文本变为注销,这很棒。 但是,我没有收到来自 facebook 的头像或用户名。

以下是我的 FBSDKLoginButtonDelegate 方法。 我在loginButton方法里放了一个打印动作,它不打印,所以一定不能进入这个方法。

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!)

    print("does it enter here?")
    FBSDKGraphRequest.init(graphpath: "me", parameters: ["fields":"first_name, last_name, picture.type(large)"]).startWithCompletionHandler  (connection, result, error) -> Void in
        let strFirstName: String = (result.objectForKey("first_name") as? String)!
        let strLastName: String = (result.objectForKey("last_name") as? String)!
        let strPictureURL: String = (result.objectForKey("picture")?.objectForKey("data")?.objectForKey("url") as? String)!
        self.lblName.text = "Welcome, \(strFirstName) \(strLastName)"
        self.ivUserProfileImage.image = UIImage(data: NSData(contentsOfURL: NSURL(string: strPictureURL)!)!)
    


func loginButtonDidLogOut(loginButton: FBSDKLoginButton!)

    let loginManager: FBSDKLoginManager = FBSDKLoginManager()
    loginManager.logOut()
    ivUserProfileImage.image = nil
    lblName.text = ""

你能帮帮我吗?当我使用 facebook 登录时,我没有输入 loginButton 方法,我错过了什么?

提前谢谢你。

【问题讨论】:

【参考方案1】:

我自己找到了答案,我会离开这里以防其他人需要它。我错过了这个: btnFacebook.delegate = 自我 我已将这行代码放入 viewDidLoad 方法中,现在我从 facebook 获取个人资料图片和用户名。

【讨论】:

以上是关于facebook 登录不提供头像或姓名的主要内容,如果未能解决你的问题,请参考以下文章

iOS、REST API - Facebook 登录

登录:在去另一个活动应用程序后忘记了Facebook图片,并命名文本

使用自定义按钮登录 Facebook

为啥 Facebook 登录不要求我提供电子邮件和密码

如何从 FBLoginView 获取头像?

Parse - 每次都重新创建 Facebook 用户