ios - Facebook SDK 4.0: Asking publish_actions -


i using fbsdkloginbutton logging in through facebook in app. define readpermissions as;

nsarray *permissions = [nsarray arraywithobjects:@"public_profile", @"email",nil]; self.loginfbbtn.readpermissions = permissions; 

the above goes well. if need ask permissions post timeline , want have access "publish_actions" permissions, there way ask these without provoking fbsdkloginmanager, because way given in facebook docs:

if ([[fbsdkaccesstoken currentaccesstoken] hasgranted:@"publish_actions"]) {   // todo: publish content. } else {   fbsdkloginmanager *loginmanager = [[fbsdkloginmanager alloc] init];   [loginmanager loginwithpublishpermissions:@[@"publish_actions"] handler:^(fbsdkloginmanagerloginresult *result, nserror *error) {     //todo: process error or result.   }]; } 

apparently way can invoke "publish_actions" app. want use without fbsdkloginmanager. please help, need rolling.

so update:

by of wizkid , mingli ended implementing via fbsdkloginmanager , following code segments facebook login via custom button , @selector(facebooklogin), , sharing permissions invoked when sharing required via method getsharingpermissions :

-(void) facebooklogin {     @try     {         self.loginmanager = [[fbsdkloginmanager alloc] init];         [self.loginmanager setloginbehavior:fbsdkloginbehaviorweb];         [self.loginmanager loginwithreadpermissions:@[@"public_profile",@"email"] handler:^(fbsdkloginmanagerloginresult *result,nserror *error)         {             if([fbsdkaccesstoken currentaccesstoken])             {                 [[[fbsdkgraphrequest alloc] initwithgraphpath:@"me" parameters:nil]                  startwithcompletionhandler:^(fbsdkgraphrequestconnection *connection, id result, nserror *error)                  {                      if (!error)                      {                          nslog(@"fetched user:%@", result);                          nsdictionary *userdict = (nsdictionary*)result;                      }                  }];             }}];     } } @catch (nsexception *exception) {     nslog(@"exception %@", exception); } 

get sharing permissions:

-(void)getsharepermissions {     if (![[fbsdkaccesstoken currentaccesstoken] hasgranted:@"publish_actions"])     {         [self.loginmanager setloginbehavior:fbsdkloginbehaviorweb];         [self.loginmanager loginwithpublishpermissions:@[@"publish_actions"] handler:^(fbsdkloginmanagerloginresult *result, nserror *error)         {             if ([result.grantedpermissions containsobject:@"publish_actions"])             {              }}];     } } 

so error getting login page again , asking user credentials again when getsharingpermissions called. please help. in advance.


Comments

Popular posts from this blog

c++ - No viable overloaded operator for references a map -

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - Cannot secure connection using TLS -