繁体   English   中英

获取Facebook用户朋友生日

[英]get facebook user friends birthday

有没有办法使用iOS Facebook SDK来获取Facebook用户朋友的生日? 另外,我尝试从用户事件中加载用户朋友的生日,但是我只有事件,而不是生日。

这是我尝试过的代码:

class ViewController: UIViewController {

    let facebookReadPermissions = ["user_events"]

    override func viewDidLoad() {
        super.viewDidLoad()

        if FBSDKAccessToken.currentAccessToken() != nil {
            return
        }

        FBSDKLoginManager().logInWithReadPermissions(self.facebookReadPermissions, handler: { (result:FBSDKLoginManagerLoginResult!, error:NSError!) -> Void in
            if error != nil {
                FBSDKLoginManager().logOut()
                println(error)
            } else if result.isCancelled {
                FBSDKLoginManager().logOut()
                println("cancelled")
            } else {
                var allPermsGranted = true

                let perms = result.grantedPermissions as NSSet
                let grantedPermissions = Array(result.grantedPermissions).map( {"\($0)"} )
                for permission in self.facebookReadPermissions {
                    if !contains(grantedPermissions, permission) {
                        allPermsGranted = false
                        break
                    }
                }
                if allPermsGranted {
                    // Do work
                    println("all perm granted, success!")

                    let fbToken = result.token.tokenString
                    let fbUserID = result.token.userID
                    println(fbToken)
                    println(fbUserID)

                    self.getUserEvents()
                } else {
                    println("failure")
                }
            }
        })
    }

    func getUserEvents() {
        if FBSDKAccessToken.currentAccessToken() != nil {
            FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "events"]).startWithCompletionHandler({ (connection, result, error) -> Void in
                if error == nil {
                    println(result)
                    println("----------------------")
                    println(result as! NSDictionary)
                }
            })
        }
    }
}

输出:

{
    events =     {
        data =         (
                        {
                description = dfgfdgfdg;
                id = 791086224356028;
                name = "B party";
                "rsvp_status" = attending;
                "start_time" = "2015-08-30";
            },
                        {
                description = "\U0422\U0435\U0441\U0442";
                id = 1624498701141585;
                name = "\U0422\U0435\U0441\U0442";
                place =                 {
                    id = 356733231072690;
                    location =                     {
                        city = Kirovohrad;
                        country = Ukraine;
                        latitude = "48.5046610418";
                        longitude = "32.2676611219";
                        zip = 250;
                    };
                    name = "\U0433. \U041a\U0438\U0440\U043e\U0432\U043e\U0433\U0440\U0430\U0434 , \U0423\U043a\U0440\U0430\U0438\U043d\U0430";
                };
                "rsvp_status" = attending;
                "start_time" = "2015-08-30";
            }
        );
        paging =         {
            cursors =             {
                after = TVRZAeU5EUTVPRGN3TVRFME1UVTROVG94TkRRd09URTRNREF3T2pFMk5UQTRORGc1TmpnME9EVTRNUT09;
                before = TnpreE1EZAzJNakkwTXpVMk1ESTRPakUwTkRBNU1UZA3dNREE2TVRjMk9UQTRNVE0xTmpnM09UWXgZD;
            };
        };
    };
    id = 1569554686600399;
}

从Facebook api v2.0开始,已删除所有朋友权限。 你不能得到朋友的生日。 参考https://developers.facebook.com/docs/apps/changelog

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM