views:

348

answers:

2

hi,

I am new to iphone development, i want to display the permission page after logging facebook.

buttonIndex is the index of my actionsheets.

 if(buttonIndex == 1)
 {  
    session = [FBSession sessionForApplication:@"My App key" secret:@"My Key"   delegate:self];
FBLoginDialog* dialog = [[[FBLoginDialog alloc] initWithSession:session] autorelease];
    [dialog show];  

 } 

by using those code successfully loggin to facebook, but i want to permission page to display,

so i can use,

 - (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];

 }

But its not working. Where can i put that code. And I want to share my content after the permission allowed.

If i logout the facebook, it goes to the browser but i want to return my application after logout,

Please help me out, guide me plz.

A: 

I highly recommend this guy's tutorial, Brandon Treb, on integrating Facebook. He does a very thorough presentation and takes you line-by-line, so if it does not work, its a typo on your part. His tutorial got me up and running in less than two hours.

http://brandontreb.com/

mobibob
Ooops ... my mistake. Brandon's tutorial was for Twitter. He has some new stuff, but I got the Facebook integration from the Vimeo video by the Facebook developers. Sorry if that was misleading, but I hope it is still useful for related activities.
mobibob
+2  A: 

I would change this dialog1.permission = @"uid"; to something like this dialog1.permission = @"publish_stream";. Because you want to publish your content to the users stream, right?

 - (void)session:(FBSession*)session didLogin:(FBUID)uid

After loggin in I would first check if you might already have the permission to publish to the user's stream, by creating a FBRequest

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: @"publish_stream", @"ext_perm", nil];
[[FBRequest requestWithDelegate:self] call:@"facebook.users.hasAppPermission" params:params];

The result you can evaluate here

- (void)request:(FBRequest*)request didLoad:(id)result 

e.g. like this

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
        ...
    }
jd291