Я пытаюсь запросить информацию о пользователе, используя новый API интеграции Facebook в iOS 6. Это код, который я использую, и он практически идентичен тому, что они продемонстрировали на WWDC :
{
NSDictionary *parameters = @{};
NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me"];
SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:url
parameters:parameters];
request.account = self.account;
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSLog(@"Facebook request received, status code %d", urlResponse.statusCode);
NSString *response = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"Response data: %@", response);
dispatch_async(dispatch_get_main_queue(), ^{
});
}];
}
. Проблема в том, что я получаю код ошибки 2500 от Facebook :«Токен активного доступа должен использоваться для запроса информации о текущем пользователе». Если я изменю запрос на https://graph.facebook.com/[идентификатор facebook], он будет работать нормально. Я предполагаю, что проблема в том, что iOS передает токен доступа приложения вместо токена доступа пользователя при отправке запроса через requestForServiceType. Я просто не знаю, как это исправить. Очевидно, что предвидеть и жестко кодировать идентификаторы Facebook моих пользователей — не вариант. Какие-либо предложения?