Я видел это сообщение , в котором описывается, как использовать график api для проверки прав пользователя, однако я не уверен, как на самом деле проверить конкретное разрешение.
Вызов [facebook requestWithGraphPath:@"me/permissions" andDelegate:self];
вызывает метод делегата - (void)request:(FBRequest *)request didLoad:(id)result
но как лучше всего обработать ответ?У меня уже есть два блока в этом делегате, которые обрабатывают другие типы запросов, в частности путем вызова if ([result isKindOfClass:[NSArray class]])
и if ([result isKindOfClass:[NSDictionary class]])
. Предположительно, FBRequest для разрешений также является массивом, так как я могу отличить его от других массивов FBRequest?И когда у меня есть массив, как я могу проверить конкретное разрешение - в моем случае publish_stream.
Кроме того, это самый быстрый способ сделать это?Я хочу проверить, активно ли это разрешение, и если нет, предложить пользователю снова войти в систему.В настоящее время я проверяю, нуждается ли сеанс в проверке, вызывая if (![facebook isSessionValid])
, чтобы я мог изменить его на что-то вроде if (![facebook isSessionValid] || ![self checkPermissions]
, но для этого потребовался бы полный запрос запроса.