我见过this post其中描述了如何使用图形 api 检查用户的权限,但是我不确定如何实际检查特定权限。
调用 [facebook requestWithGraphPath:@"me/permissions"andDelegate:self];
调用委托(delegate)方法 - (void)request:(FBRequest *)request didLoad:(id)result
但如何最好地处理响应呢?我在这个委托(delegate)中已经有两个 block 来处理其他类型的请求,特别是通过调用 if ([result isKindOfClass:[NSArray class]])
和 if ([result isKindOfClass:[NSDictionary class] ]])
想必权限的FBRequest也是一个Array,那么如何区分它和其他FBRequest数组呢?一旦我有了数组,我如何检查特定权限 - 在我的例子中是publish_stream。
另外,这是最快的方法吗?我想检查此权限是否有效,如果没有,则提示用户重新登录。目前,我通过调用 if (![facebook isSessionValid])
检查 session 是否需要验证,因此我可以将其更改为 if (![facebook isSessionValid] || ![self checkPermissions]
但这需要完整的请求调用。
最佳答案
对于您的第一个问题,请尝试仅使用另一个委托(delegate)来实现此目的(即创建一个实现 FBRequestDelegate 协议(protocol)并实现所需请求方法的类),然后将此委托(delegate)传递给图形请求调用。
<您可以尝试迭代该数组并找到与所需权限的匹配项。
关于objective-c - 检查 iOS 上的 Facebook 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9501157/