相关疑难解决方法(0)

获取电子邮件并命名Facebook SDK v4.4.0 Swift

TL; TR:如何使用facebook SDK 4.4获取在我的应用程序上登录的用户的电子邮件和名称

到目前为止,我已经设法登录工作,现在我可以从应用程序的任何位置获取当前访问令牌.

我如何配置登录视图控制器和Facebook登录按钮:

class LoginViewController: UIViewController, FBSDKLoginButtonDelegate {

    @IBOutlet weak var loginButton: FBSDKLoginButton!

    override func viewDidLoad() {
        super.viewDidLoad()
        if(FBSDKAccessToken.currentAccessToken() == nil)
        {
            print("not logged in")
        }
        else{
            print("logged in already")
        }

        loginButton.readPermissions = ["public_profile","email"]
        loginButton.delegate = self

    }

    //MARK -FB login
    func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
        //logged in
        if(error == nil)
        {
            print("login complete")
            print(result.grantedPermissions)
        }
        else{
            print(error.localizedDescription)
        }

    }

    func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
        //logout
        print("logout")
    }
Run Code Online (Sandbox Code Playgroud)

现在在我的主视图中,我可以获得访问令牌,如下所示:

   let accessToken = FBSDKAccessToken.currentAccessToken()
    if(accessToken …
Run Code Online (Sandbox Code Playgroud)

facebook-sdk-4.0 swift

40
推荐指数
6
解决办法
4万
查看次数

IOS Facebook SDK:尽管授予了权限,登录也不会返回电子邮件

我正在尝试通过facebook sdk获取信息,但到目前为止我只获得用户的ID和名称,虽然我确定有可用的电子邮件,因为这是我的帐户.我一直在寻找几个答案,但到目前为止他们都没有解决我的问题.我做错了什么,为什么在我请求多个权限时它没有返回更多数据?

这是我的代码:

fbLoginManager.logInWithReadPermissions(["public_profile", "email", "user_friends", "user_about_me", "user_birthday"], handler: { (result, error) -> Void in
        if ((error) != nil)
        {
            // Process error
            println("There were an error: \(error)")
        }
        else if result.isCancelled {
            // Handle cancellations
            fbLoginManager.logOut()
        }
        else {
            var fbloginresult : FBSDKLoginManagerLoginResult = result
            if(fbloginresult.grantedPermissions.contains("email"))
            {
                println(fbloginresult)
                self.returnUserData()
            }
        }
    })
Run Code Online (Sandbox Code Playgroud)

以及获取用户数据的功能:

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

        if ((error) != nil)
        {
            // Process …
Run Code Online (Sandbox Code Playgroud)

facebook-graph-api facebook-ios-sdk swift

14
推荐指数
4
解决办法
1万
查看次数

FacebookSDK(4.1.x)自定义登录UI按钮 - Swift(1.2)

按照本教程,我设法使Facebook登录按钮工作.但是,它会自动从SDK中分配按钮图像,并且无法自定义(因为它没有在Storyboard上创建),因此我无法使用自己的按钮图像或文本.

我相信这部分代码(在ViewDidLoad中)是分配按钮:

        let loginView : FBSDKLoginButton = FBSDKLoginButton()
        self.view.addSubview(loginView)
        loginView.center = self.view.center
        loginView.readPermissions = ["public_profile", "email"]
        loginView.delegate = self
Run Code Online (Sandbox Code Playgroud)

我需要做的是在Storyboard上创建一个@IBOutlet按钮并从那里进行自定义.我怎样才能做到这一点?

facebook ios swift

7
推荐指数
2
解决办法
1万
查看次数