Отправка поста на страницу с iOS с разрешением publish_stream - PullRequest
1 голос
/ 17 ноября 2011

В настоящее время я подключаю свое родное приложение iOS к странице Facebook, чтобы опубликовать сообщение на этой стене. Я могу получить доступ к стене, но по какой-то причине текст сообщения не установлен. Я попросил пользователя предоставить права доступа publish_stream.

Есть идеи, что я делаю не так? Вот мой код:

NSMutableDictionary *message = [NSDictionary dictionaryWithObjectsAndKeys:@"some text", @"message", @"http://path/to/itunes/", @"link", nil];

NSString *changeJSON = [message JSONRepresentation];

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

NSData *myPostData = [changeJSON dataUsingEncoding:NSUTF8StringEncoding];
NSString *myURL = [NSString stringWithFormat:@"https://graph.facebook.com/pageId/feed?access_token=%@", facebook.accessToken];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:myURL] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10.0];

[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [myPostData length] ] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: myPostData];

NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil ];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding: NSUTF8StringEncoding];

NSLog(@"return string: %@", returnString);

[facebook logout:self];

Строка, которая закодирована в объект NSData, следующая:

{"message":"some text","link":"http://path/to/itunes/"}

Спасибо и хорошего дня: -)


1 Ответ

1 голос
/ 17 ноября 2011

Похоже, вы пытаетесь опубликовать JSON в GraphAPI? Если это так, вы не можете публиковать JSON на Facebook, но вместо этого должны использовать параметры при публикации (либо строка запроса, либо параметры HTTP-запроса).

Все действия по публикации выполняются через HTTP POST с параметрами, а все ответы выполняются в формате JSON. Вы можете узнать больше об этом через ссылку Graph API под публикацией .

См .: Ссылка POST .

...