11

サイトに記載されているように、 Google Plus Apiとログインを実装しました。しかし、以下に示すように、アクセスを許可をクリックすると、ログイン後に問題が発生します。

ここに画像の説明を入力

次のメッセージが表示されます。

ここに画像の説明を入力

私のコードは次のとおりです。何か残っている場合は教えてください:

    - (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;
}
4

1 に答える 1

44

プロジェクトでリダイレクトURIを次のようにバンドルIDで割り当てる必要があります。これにより、認証が成功した後、URLを適切に処理すると、アプリケーションがsafariから起動されます。

ここに画像の説明を入力してください

バンドルIDを識別子およびURLスキームとして配置します...

于 2012-12-26T08:48:39.560 に答える