iOS: фотография загружается на Facebook не всегда - PullRequest
6 голосов
/ 01 сентября 2011

У меня есть приложение для iPhone / iPad, которое выполняет некоторые базовые функции редактирования фотографий и дает пользователю возможность загрузить готовый продукт в Facebook. В приложении более 100 000 пользователей, и большинство из них, похоже, без проблем загружают свои фотографии в Facebook. Тем не менее, есть несколько пользователей, которые не могут загрузить свои фотографии, независимо от того, что они пытаются. Я работал с ними, чтобы убедиться, что они не разрешены приложением или настройками Facebook и не могут найти там никаких проблем. Поэтому мне интересно, если я делаю что-то неправильно с FBConnect, что иногда вызывает проблему. Вот код:

- (void)initFacebook {
  if( self.facebook == nil ) {
    Facebook *fb = [[Facebook alloc] init];
    self.facebook = fb;
    [fb release];
  }

  if( [self.facebook isSessionValid] ) { 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"FacebookIsReady"
                                                    object:nil
                                                  userInfo:nil];

  } else {
    NSArray *perms = [NSArray arrayWithObjects:@"publish_stream", @"user_likes", nil];
    [self.facebook authorize:MY_FB_APP_ID permissions:perms delegate:self];
  }
}

-(void)fbDidLogin {
    [[NSNotificationCenter defaultCenter] postNotificationName:@"FacebookIsReady"
                                                    object:nil
                                                  userInfo:nil];
}

// this is in a different class
- (void)facebookIsReady:(NSNotification *)notification {    
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:self.theImage, @"source", nil];

    [appDelegate.facebook requestWithGraphPath:@"/me/photos" 
                                         andParams:params 
                                     andHttpMethod:@"POST" 
                                       andDelegate:appDelegate];
}

В FBRequestDelegate didLoad всегда вызывается, даже если фотография не отображается в профиле Facebook. Так что я понимаю, что код никогда не ошибается, но фотография не всегда появляется в профиле Facebook.

Возможно ли, что приложение не может создать новый альбом в профиле пользователя? Я видел, как другие сообщали об этой проблеме ранее в различных группах, но никогда не находил фактического решения. Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 марта 2014
  • Загрузка фотографий на Facebook через социальную платформу намного проще.
  • Пожалуйста, проверьте ссылку ниже Обмен Fabecook
0 голосов
/ 27 октября 2011

Вы должны включить user_photos в свой массив разрешений следующим образом:

NSArray *permissions = [[NSArray alloc] initWithObjects:
    @"user_photos",
    @"publish_stream",
    @"user_likes",
     nil];

Вот список всех разрешений: https://developers.facebook.com/docs/reference/api/permissions/

...