0

私は iOS 9.2 & Swift 2.1 & FBSDKVersion: 4.7.0 で作業しています。

Graph API Explorer を試してみましたが、その時点で目的の出力が得られました。

変換されたコードは Objective-C で、Swift に変更しました。

let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "/me", parameters: ["fields": "hometown"], HTTPMethod: "GET")

            graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in
                if ((error) != nil){
                    print("Error: \(error)")
                }
                else{
                    print("fetched details: \(result)")
            })
4

1 に答える 1

0

以下の例を参照して、 FBSDKGraphRequestオブジェクトの"fields"パラメータにhometownオプションを追加し、次のように変更します。

func fetchUserProfile()
    {
        let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields":"id, email, name, picture.width(480).height(480)"])

        graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in

            if ((error) != nil)
            {
                print("Error took place: \(error)")
            }
            else
            {
                print("Print entire fetched result: \(result)")

                let id : NSString = result.valueForKey("id") as! String
                print("User ID is: \(id)")

                if let userName = result.valueForKey("name") as? String
                {
                    self.userFullName.text = userName
                }

                if let profilePictureObj = result.valueForKey("picture") as? NSDictionary
                {
                    let data = profilePictureObj.valueForKey("data") as! NSDictionary
                    let pictureUrlString  = data.valueForKey("url") as! String
                    let pictureUrl = NSURL(string: pictureUrlString)

                    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {

                        let imageData = NSData(contentsOfURL: pictureUrl!)

                        dispatch_async(dispatch_get_main_queue()) {
                            if let imageData = imageData
                            {
                                let userProfileImage = UIImage(data: imageData)
                                self.userProfileImage.image = userProfileImage
                                self.userProfileImage.contentMode = UIViewContentMode.ScaleAspectFit
                            }
                        }
                    }
                }
            }
        })
    }

このリンクも参照してください iOS で Facebook からユーザーの詳細を取得する

于 2019-01-29T07:23:58.647 に答える