我是iphone开发新手,想登录facebook后显示权限页面。
buttonIndex 是我的操作表的索引。
if(buttonIndex == 1)
{
session = [FBSession sessionForApplication:@"My App key" secret:@"My Key" delegate:self];
FBLoginDialog* dialog = [[[FBLoginDialog alloc] initWithSession:session] autorelease];
[dialog show];
}
通过使用这些代码成功登录到 facebook,但我想允许页面显示,
所以我可以使用,
- (void)session:(FBSession*)session didLogin:(FBUID)uid
{
NSLog(@"User with id %lld logged in.", uid);
FBPermissionDialog* dialog1 = [[[FBPermissionDialog alloc] init] autorelease];
dialog1.delegate = self;
dialog1.permission = @"uid";
[dialog1 show];
}
但是它不起作用。我可以把那个代码放在哪里。 我想在获得许可后分享我的内容。
如果我注销 facebook,它会转到浏览器,但我想在注销后返回我的应用程序,
请帮助我,指导我。
最佳答案
我会把 dialog1.permission = @"uid";
改成这样
dialog1.permission = @"publish_stream";
。因为您想将您的内容发布到用户流,对吧?
- (void)session:(FBSession*)session didLogin:(FBUID)uid
登录后,我会首先检查您是否已经拥有发布到用户流的权限,方法是创建一个 FBRequest
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: @"publish_stream", @"ext_perm", nil];
[[FBRequest requestWithDelegate:self] call:@"facebook.users.hasAppPermission" params:params];
你可以在这里评估的结果
- (void)request:(FBRequest*)request didLoad:(id)result
例如像这样
if ([request.method isEqualToString:@"facebook.users.hasAppPermission"])
{
NSString *success = result;
if ([success isEqualToString:@"1"])
{
NSLog(@"User has app permission");
// publish content now
...
}
else
{ // else ask for permission, opening permission dialog
...
}
关于iphone - 在iphone的facebook中显示权限页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2289008/