Используйте Facebook API с Objective C, чтобы найти случайное изображение пользователя Facebook - PullRequest
0 голосов
/ 13 октября 2011

Я создаю приложение, которое возвращает случайное изображение профиля Facebook.Пока у меня есть код ниже, генерирующий случайный идентификатор профиля, который иногда возвращает реальный профиль, но иногда нет и просто показывает общее синее лицо Facebook.Когда я использую данное число в API графа реального сайта, он просто возвращает false.Мой вопрос заключается в том, как бы я вставил код так, чтобы, если сгенерированное случайное число возвращало ложный профиль, оно просто продолжало генерировать новое случайное число, пока не будет возвращен реальный профиль, то есть реальная картинка?Заранее спасибо

@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 Ответ

1 голос
/ 01 декабря 2011

Похоже, ваша проблема в том, что вы не можете определить, является ли это реальным изображением или нет, потому что Facebook всегда возвращает изображение по умолчанию?

Вместо простого запроса picture?type=large напрямую (который всегда возвращаетimage), first сделать запрос к http://graph.facebook.com/USERID и прочитать этот ответ - который будет false или что-то, если это не настоящий пользователь.

Цикл довы находите реального пользователя, затем запрашивает URL-адрес изображения.

Я не уверен, почему вы хотели бы сделать это, хотя ... но удачи.

...