2

リクエストを承認できるように、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

認証設定を正しく設定したと思っていたので、ログインが必要なメッセージが表示される理由がわかりません。どんな助けでも大歓迎です。

4

0 に答える 0