2013-12-15 2 views
6

iOS Batch Request Page은 여러 요청을 동시에 실행하고 출력을 개별적으로 처리하는 방법을 보여줍니다. 그러나 3 가지 Facebook 배치 요청을 동시에 작성한 다음 3 가지가 완료되면 하나의 완료 블록에서 3 가지 결과를 모두 받아서 집계하고 정렬 할 수 있습니다. 이것이 가능한가?iOS Facebook SDK 배치 요청, 단일 완료 블록

모든 도움은 대단히 감사 드리며 항상 답변을 수락합니다!

답변

1

이 방법은 저에게 효과적입니다. 다음은 사용자 정보를 요청하는 방법과 앱을 사용하는 사용자의 친구의 예입니다. 그러면 단일 블록으로 돌아가고 결과를 파싱하고 모든 것을 한 번에 처리 할 수 ​​있습니다.

NSArray *requests = @[@{@"method":@"GET", 
         @"relative_url":@"me"}, 
         @{@"method":@"GET", 
         @"relative_url":@"me/friends"}]; 
NSError *encodingError; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:requests options:0 error:&encodingError]; 
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
NSDictionary *params = @{@"batch":jsonString}; 

[FBRequestConnection startWithGraphPath:@"" 
          parameters:params 
          HTTPMethod:@"POST" 
         completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
          if (error) { 
           NSLog([error description], nil); 
          } 
          else { 
           NSLog(@"Return Data: %@", [result description]); 
          } 
         }]; 
+0

비디오를 Facebook에 업로드하는 동안 비디오 데이터도 포함됩니다. 어떻게 JSON으로 변환 될까요? –

+0

FBRequestConnection이 더 이상 사용되지 않거나 더 이상 요청하지 않기 때문에 코드가 더 이상 작동하지 않습니다. –