リクエストを承認できるように、Google サインイン サービスで Objective-C Google API クライアントを使用しようとしています。
ユーザーがログインして、アプリが機能するために必要なリクエストのアクセス許可 (スコープ) を受け入れることができるように、Google サインイン ログイン ビュー コントローラーをセットアップしました。次に、次のコードを使用して AdSense API にリクエストを送信します。
GTLServiceAdSense *service = [[GTLServiceAdSense alloc] init];
service.APIKey = @"API KEY FROM CONSOLE";
service.apiVersion = @"v1.4";
[service setAuthorizer:[GIDSignIn sharedInstance].currentUser.authentication.fetcherAuthorizer];
GTLQueryAdSense *query = [GTLQueryAdSense queryForAccountsReportsGenerateWithAccountId:@"ADSENSE PUBLISHER ID" startDate:@"DATE" endDate:@"DATE"];
[service executeQuery:query completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) {
if (error == nil) {
//Deal with response.
} else {
NSLog(@"%@", error.description);
}
}];
このコードは、ユーザーが GIDSignIn プロセスを通じて正常にサインインした場合にのみ実行されます。ただし、リクエストは常にエラーを生成します。
Error Domain=com.google.GTLJSONRPCErrorDomain Code=401 "(Login Required)" UserInfo={error=Login Required, NSLocalizedFailureReason=(Login Required), GTLStructuredError=GTLErrorObject 0x7ff1a4029f80: {message:"Login Required" data:[1] コード:401}} 2016-04-04 23:10:44.496
認証設定を正しく設定したと思っていたので、ログインが必要なメッセージが表示される理由がわかりません。どんな助けでも大歓迎です。