iOS Facebook не может публиковать сообщения на стене другого пользователя - PullRequest
1 голос
/ 19 января 2012

Я пытаюсь сделать пост на стене другого пользователя, используя другого пользователя с помощью FBConnect. Я использую встроенный метод iOS Facebook API (то есть заставляю браузер появляться внутри моего приложения, поэтому я вообще не покидаю приложение). Этот метод работает для публикации на стене того же пользователя, но не работает на стене другого пользователя.

    self.facebook = [[[Facebook alloc] initWithAppId:self.appID andDelegate:self] autorelease];
if ([self.facebook isSessionValid]) {
    [self proceedToPost];
}else{
    NSArray *permissions = [NSArray arrayWithObjects:@"publish_stream", @"email", @"read_stream", @"manage_pages", nil];
    [self.facebook authorize:permissions];
}

- (void)proceedToPost

{

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: @"aName", @"name",
                               self.appID, @"app_id",
                               self.title, @"caption",
                               self.link, @"link",
                               @"animateURL", @"picture",
                               nil];
[params setObject:"my-user-profile-id" forKey:@"to"];
[self.facebook dialog:@"feed" andParams:params andDelegate:self];

}

Проблема в том, что авторизация выполняется, как и ожидалось, но при попытке фактически опубликовать сообщение я вижу сообщение об ошибке во встроенном браузере "невозможно опубликовать на стене пользователя".

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 19 января 2012

Вы запрашивали разрешение publish_stream из расширенных разрешений?

Из документации о разрешении publish_stream:

Позволяет вашему приложению публиковать контент, комментарии и лайки в потоке пользователя и в потоках его друзей.С этим разрешением вы можете публиковать контент в фиде пользователя в любое время, не требуя offline_access.Тем не менее, обратите внимание, что Facebook рекомендует модель совместного использования, инициированную пользователем.

http://developers.facebook.com/docs/reference/api/permissions/

Вы можете запросить разрешения, например:

 NSArray *permissions = [[NSArray alloc] initWithObjects:
            @"publish_stream",
            nil];
        [facebook authorize:permissions];
        [permissions release];
...