2011-10-13 4 views
0

임의의 Facebook 프로필 사진을 반환하는 앱을 제작 중입니다. 지금까지 나는 때때로 실제 프로파일을 반환하지만 때로는 나던하고 그냥 일반 블루 페이스 북의 얼굴을 보여줍니다 무작위 프로파일 ID를 생성 아래의 코드가 있습니다. 실제 웹 사이트 그래프 API에서 주어진 숫자를 사용할 때 단지 false를 반환합니다. 내 질문은 생성 된 난수가 잘못된 프로파일을 반환하는 경우 실제 프로파일이 반환 될 때까지 새로운 난수를 계속 생성하도록 코드를 삽입하는 방법입니다. 그것은 당신의 문제 같은 소리를 미리Objective C로 Facebook API를 사용하여 임의의 Facebook 사용자 이미지를 찾습니다.

@implementation FacebookPicturesViewController 

- (IBAction) nextImagePush { 

    NSString *prefix = @"http://graph.facebook.com/"; 
    NSString *profileId = [NSString stringWithFormat:@"%09d", abs(arc4random())]; 
    NSLog(@"profileId: %@", profileId); 
    NSString *suffix = @"/picture?type=large"; 
    NSString* url= [NSString stringWithFormat:@"%@%@%@", prefix, profileId, suffix]; 
    UIImage *img = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]]; 
    [imageView setImage:img]; 
    imageCount++; 

    NSLog(@"profileId: %@", profileId); 

    if (imageCount >= [imageArray count]){ 
     imageCount = 0; 
    } 
} 

답변

1

에 감사는 실제 이미지가 나하지 않을 경우 페이스 북은 항상 기본 이미지를 반환하기 때문에 당신이 말할 수 있다는 것입니다? 첫째 대신 단지 (항상 이미지를 반환하는) 직접 picture?type=large을 요청하는

, http://graph.facebook.com/USERID에 요청을하고 해당 응답 읽기 - 그것은 실제 사용자가 아니라면 false 또는 무언가를 할 것이다.

실제 사용자를 찾을 때까지 반복하여 이미지 URL을 요청하십시오.

왜 이렇게하고 싶지는 모르지만 ... 행운을 빈다.

관련 문제