2012-04-16 3 views
0

으로 나/그림 또는 userId/그림 가져 오기 요청이 실패합니다. iOS 용 Facebook SDK의 이전 버전에서는 프로필 사진을 가져 오기 위해 me/picture 또는 userId/picture를 요청할 수있었습니다. 나는 최신 SDK로 이것을 시도 할 때 null 응답을 얻고있다.최신 Facebook iOS SDK

왜 그런지, 그리고 API가 변경된 경우 어떤 대안이 가장 좋을까요?

감사합니다.

답변

1

같은 문제가 있었는데 개발자가 "일반적인"방식으로 그림을 다운로드하기를 바랬습니다. 새로운 SDK와 함께 제공되는 hackbook 페이스 북 샘플 코드에서

그들은 일반 그림 같은 사진을 다운로드하지 요청 객체를 통해 : 당신이 볼 수 있듯이

NSString * url = [NSStringstringWithFormat:@"https://graph.facebook.com/%@/picture",facebookObjectIdString]; 
NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]]; 

UIImage *downloadedImage = [UIImage imageWithData:data]; 

, 그냥 어떤 같은 URL에서 이미지를 다운로드 영상. 또한 NSURLRequest 및 sendSynchronousRequest 등을 사용하여 다운로드 할 수 있습니다.

새로운 SDK 또는 결정에 버그인지 여부에 대해 흥미로운 점이 있습니다.

업데이트 : 그림이 특정 페이지의 그림과 같은 그림 다운로드 권한을 제한하는 일부 facebook 개체에 속한 경우 access_token 매개 변수를 추가하려는 경우가 있습니다.

1

사실, 당신은 여전히, result 대신 값을 사용하는

그러나 -(void)request:(FBRequest *)request didLoad:(id)result에서 [facebook requestWithGraphPath:@"me/picture?type=large" andDelegate:self];을 사용하여 얻을 이미지 데이터를 request.responseText의, NSMutableData되는 거기에서 이미지를 구축 할 수 있습니다.

예 :

-(void)request:(FBRequest *)request didLoad:(id)result { 

    NSLog(@"Got user avatar"); 

    UIImage *profileAvatar = [UIImage imageWithData:request.responseText]; 
    UIImageView *avatarImageView = [[UIImageView alloc] initWithImage:profileAvatar]; 
    [self.view addSubview:avatarImageView]; 
} 

크레딧 : https://stackoverflow.com/a/10528707/982913