2013-03-11 63 views
0

我正在將facebook SDK 3.0升級到3.2。我通過Facebook SDK 3.2完成了Facebook登錄,並且工作正常。我想執行fql來獲取用戶的相冊。以下代碼適用於獲取Facebook照片,但不適用於相冊,因爲用戶有權限。我對如何設置facebook sdk 3.2的「user_photos」權限感到震驚。有什麼建議麼?提前致謝。如何設置ios facebook sdk的用戶權限3.2

NSString *query = 
@"SELECT pid, src_small, src_big, src FROM photo WHERE aid IN " 
@"SELECT aid FROM album WHERE owner = me() ORDER BY created DESC LIMIT 50"; 

NSDictionary *queryParam = 
[NSDictionary dictionaryWithObjectsAndKeys:query, @"q", nil]; 

[FBRequestConnection startWithGraphPath:@"/fql" 
          parameters:queryParam 
          HTTPMethod:@"GET" 
         completionHandler:^(FBRequestConnection *connection, 
              id result, 
              NSError *error) { 
          if (error) { 
           NSLog(@"Error: %@", [error localizedDescription]); 
          } else { 
           NSLog(@"Result: %@", result); 
          } 
         }]; 

回答

1

你是說,上面的代碼適用於獲取照片,這意味着你已經有需要獲取用戶的專輯「user_photos」權限(這是兩個相同的權限,請參閱Graph API documentation )。否則

SELECT aid, name, link, cover_pid 
FROM album 
WHERE owner = me() 

,如果你真的錯過了許可這意味着你不能得到用戶的照片:

如果真是這樣的話,你可以很容易地與下面的查詢獲取專輯無論是。在這種情況下,您將不得不要求用戶使用相關權限重新授權。您可以使用新權限調用常規的FBSession授權方法,並會提示用戶輸入。

無論如何,我建議你使用Graph API Explorer來測試你的FQL查詢,它會幫助你輕鬆識別出現問題。