Загрузить фото на фан-страницу в фейсбуке - PullRequest
1 голос
/ 31 января 2011

вот мои ключевые точки кода, которые я использую для загрузки фотографии на мою фан-страницу

_permissions =  [[NSArray arrayWithObjects:@"read_stream", @"offline_access", @"publish_stream", @"manage_pages", @"user_photos", @"friends_photos",nil] retain]; 

[_facebook requestWithGraphPath:@"/me/accounts" andDelegate:self];

Я анализирую страницу access_token из результатов и использую ее для последующих имитирующих страницу запросов, и я могу успешно проанализировать информацию о владельце страницы из результата, поэтому я думаю, что мой access_token в порядке

 - (IBAction)getUserInfo:(id)sender {
            _facebook.accessToken = self.pageAccessToken;
          [_facebook requestWithGraphPath:@"me" andDelegate:self];
        }

Но если я попытаюсь загрузить фото в свой страничный альбом, как это:

- (IBAction)uploadPhoto:(id)sender {

          NSString *path = @"http://dl.dropbox.com/u/xxxxxxx/Icon.png";
          NSURL *url = [NSURL URLWithString:path];
          NSData *data = [NSData dataWithContentsOfURL:url];
          UIImage *img  = [[UIImage alloc] initWithData:data];

          NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                         img, @"picture",
                                         nil];



            _facebook.accessToken = self.pageAccessToken;


          [_facebook requestWithMethodName:@"photos.upload"
                                 andParams:params
                             andHttpMethod:@"POST"
                               andDelegate:self];

          //or like
          // [_facebook requestWithGraphPath:@"/me/photos" ...
          // [_facebook requestWithGraphPath:@"/<PAGE_ID>/photos" ...
          // [_facebook requestWithGraphPath:@"/<ALBUM_ID>/photos" ...

          [img release];
        }

Я всегда получаю ошибку:

Error Domain=facebookErrDomain Code=190 "The operation couldn’t be completed. (facebookErrDomain error 190.)" UserInfo=0x15fca0 {request_args=(
{
key = method;
value = "photos.upload";
},
{
key = sdk;
value = ios;
},
{
key = "sdk_version";
value = 2;
},
{
key = "access_token";
value = "1939755xx612731|8ceab6c65ce0194d079f41ef-1068726246|3x2697618282|xdSRakxsdjezx9N1dnr9cRe6ICk";
},
{
key = format;
value = json;
}
), error_msg=Invalid OAuth 2.0 Access Token, error_code=190}

}

(примечание: я немного изменил access_token только для защиты)

1 Ответ

0 голосов
/ 24 марта 2011

Привет, jackiedigital, это разрешение «manage_pages» совместимо только с API Graph.
Посмотрите последнее разрешение на этой странице: http://developers.facebook.com/docs/authentication/permissions/

...