2012-12-26 15 views
11

Ho implementato Google Plus Api e accesso come è indicato nel sito. Ma sta dando problema dopo il login quando clicco su Consenti l'accesso come illustrato di seguito: appareG + sdk che dà errore di accesso?

enter image description here

il seguente messaggio:

enter image description here

Il mio codice è il seguente, pls dimmi se manca qualcosa:

- (void)viewDidLoad 
{ 
self.signInButton.delegate = self; 
self.signInButton.clientID = kClientId; 
self.signInButton.scope = [NSArray arrayWithObjects: 
          @"https://www.googleapis.com/auth/plus.me", 
          nil]; 

SLNetworkAppDelegate *appDelegate = (SLNetworkAppDelegate*) 
[[UIApplication sharedApplication] delegate]; 
appDelegate.signInButton = self.signInButton; 

share =[[GPPShare alloc] initWithClientID:kClientId]; 
share.delegate = self; // optional 
appDelegate.share=share; 

    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (IBAction) didTapShare: (id)sender { 
[[[[share shareDialog] 
    setURLToShare:[NSURL URLWithString:@"https://developers.google.com/+/mobile/ios/getting-started"]] 
    setPrefillText:@"testing share via google plus"] open]; 

// Or, without a URL or prefill text: 
[[share shareDialog] open]; 
} 


In App delegate file: 

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
{ 
if ([signInButton handleURL:url 
      sourceApplication:sourceApplication 
        annotation:annotation]) { 
    return YES; 
} 
if ([self.share handleURL:url 
     sourceApplication:sourceApplication 
       annotation:annotation]) { 
    return YES; 
} 
return NO; 
} 
+0

potrebbe essere l'URL di reindirizzamento è stato specificato in Google Plus è sbagliato corrispondenza. Controlla l'url di reindirizzamento nell'applicazione client google plus e assicurati di aver assegnato la stessa gestione dell'URL nel file plist dell'applicazione – Sumanth

+0

ciao @Sumanth Non ho specificato l'URL di reindirizzamento, ma dimmi dove può essere specificato. – Warewolf

+0

hai creato un'applicazione in google in modo da avere kClientId lì devi specificare URL di reindirizzamento in modo che dopo l'autenticazione safari browser gestirà l'url e apri l'applicazione – Sumanth

risposta

44

Devi assegnare reindirizzare uri nel tuo progetto con il tuo ID di bundle come questo così dopo l'autenticazione con successo la vostra applicazione sarà lanciato dal safari se il manico vostro URL corretto:

enter image description here

Luogo fascio ID come identificatore e URLSchemes ...

+0

Ho un dubbio sull'impostazione di ID bundle per l'app iOS. Il mio ID bundle è solo il nome del progetto, non ha alcun prefisso come "com.companyname". Quindi dice "valore del parametro invalide per redirect_uri: Missing authority:". C'è qualche necessità di aggiungere il prefisso nell'id bundle. –

+1

Grazie ho appena impostato l'ID bundle come URLSchemes e il suo funzionamento corretto – nivritgupta

+1

Ha funzionato anche per me. Grande. –