2012-09-05 63 views
1

我正在使用iPhone的Facebook SDK。我需要能夠在一個請求中檢索經過身份驗證的用戶詳細信息和個人資料圖片。iPhone Facebook SDK 3在一個請求中獲取用戶詳細信息和個人資料圖片

在SDK的測試版中,我曾經可以使用下面的代碼執行此操作,但它現在只返回用戶標識和圖片url。

[FBRequestConnection startWithGraphPath:@"me" parameters:[NSDictionary dictionaryWithObject:@"picture" forKey:@"fields"] HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection, id result, NSError *error)... 

有沒有辦法在一個請求中做到這一點?非常感謝您的任何建議。

[編輯]我也應該提到,我需要直接使用URL字符串,因爲我沒有使用Facebook的新FBProfilePictureView類。

回答

7

腦屁!我應該在參數字典中包含我想返回的所有屬性。我在Facebook的文檔印象中,你只需要包含圖片屬性,如果你想它與用戶信息返回。正確的請求如下:

[FBRequestConnection startWithGraphPath:@"me" 
         parameters:[NSDictionary dictionaryWithObject:@"picture,id,birthday,email,first_name,last_name,gender,username" forKey:@"fields"] 
         HTTPMethod:@"GET" 
        completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 

        }]; 
+0

不使用i獲取用戶的名字和姓氏噸。 –

+0

Hi Bullet Raja。這個問題/答案已近兩年了,在這段時間內Facebook可能已經改變了他們的API。 – bennythemink

+1

嗨bennythemink我剛剛在參數中添加first_name,last_name,它的工作原理。 –

0

這裏是一個更新的解決方案。

var basicUserData = ["fields": "picture,id,birthday,email,first_name,last_name,gender"] 

FBRequestConnection.startWithGraphPath("/me", 
    parameters: basicUserData, 
    HTTPMethod: "GET") { 
     (connection:FBRequestConnection!, result, error) -> Void in 
      if error != nil { 
       print(error!) 
      } else { 
       print(result!) 
      } 
     } 

解析團隊建議通過訪問https://graph.facebook.com/(facebookId)/picture?type=large確保與用戶的Facebook ID來代替讓FB資料圖片。 Here is the discussion

注:

相關問題