我是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,它会进入浏览器,但我想在退出后返回我的应用程序,
请帮帮我,指导我。
答案 0 :(得分:2)
我会将此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
e.g。像这样
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
...
}
答案 1 :(得分:0)
我强烈推荐这个人的教程,Brandon Treb,整合Facebook。他做了一个非常详尽的演示并逐行引导你,所以如果它不起作用,那么你的错误就是它。他的教程让我在不到两个小时的时间里运行起来。