2013-01-24 15 views
5

Właśnie uruchomiłem nową aplikację z SDK iOS 3.1, zauważyłem, że teraz uprawnienia do odczytu i zapisu są oddzielone.prosty sposób publikowania na ścianie za pomocą ios SDK 3.1

ja szukam prosty sposób publikować na ścianie użytkownika, ale ja MA nieco mylić z mechanizmem autoryzacji

Jeśli mogę o uprawnieniach pisać w CompletionHandler z openActiveSessionWithReadPermissions, otrzymuję następujący błąd

*** Terminating app due to uncaught exception 'com.facebook.sdk:InvalidOperationException', reason: 'FBSession: It is not valid to reauthorize while a previous reauthorize call has not yet completed.' 

completionHandler brzmi jak akcja, ponieważ została zakończona, więc nie rozumiem, jaki jest problem z tym kodem.

Wszelkie sugestie?

-(void)askWritePerms 
{ 
NSArray *permissions = [NSArray arrayWithObjects:@"publish_actions", nil]; 

[[FBSession activeSession] reauthorizeWithPublishPermissions:permissions 
          defaultAudience:FBSessionDefaultAudienceFriends 
         completionHandler:^(FBSession *session, NSError *error) { 


    }]; 

} 


- (IBAction)publishFB:(id)sender 
{ 


     NSArray *permissions = [NSArray arrayWithObjects:@"email", nil]; 

     [FBSession openActiveSessionWithReadPermissions:permissions 
            allowLoginUI:YES 
           completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
          [self askWritePerms]; 

        } 
+0

Czy sprawdzić jaki jest stan sesji? czy możesz zarejestrować wartość statusu? –

Odpowiedz

0
For publishing in wall in facebook use the following code 
[[FBSession activeSession] reauthorizeWithPublishPermissions:@[ @"publish_stream",@"publish_actions" ] defaultAudience:FBSessionDefaultAudienceEveryone completionHandler:^(FBSession *authSession, NSError *authError) { 

      // If auth was successful, create a status update FBRequest 
      if (!authError) { 
NSMutableDictionary* photosParams = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
                imageurl,@"source", 
                urlstring,@"link",@"Appname",@"name",@"Your app description",@"description", 
                nil]; 


       [FBRequestConnection startWithGraphPath:@"me/feed" parameters:photosParams HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
       if (error) 
       { 
        [self showAlert:@"Connection Error...Try Again"]; 
} 
     }]; 
      } 
      }]; 
Powiązane problemy