调用Reports API v1时出错



调用Reports API时出错:

<HttpError 403 when requesting https://www.googleapis.com/admin/reports/v1/usage/users/all/dates/2013-08-01?alt=json&maxResults=1 returned "Caller does not have access to the customers reporting data.">

以前有人见过这个错误吗?我错过了什么?我只是不明白为什么会出现这种情况,也不明白我应该检查什么。

谨致问候。

编辑:

Auth:

        credentials = SignedJwtAssertionCredentials(
            service_account_name='5163XXXXX@developer.gserviceaccount.com',
            private_key=oauth2_private_key,
            scope='https://www.googleapis.com/auth/admin.reports.usage.readonly')
        # https://developers.google.com/api-client-library/python/guide/thread_safety
        http = credentials.authorize(httplib2.Http())
        service = apiclient.discovery.build('admin', 'reports_v1', http=http)

实际呼叫:

result = service.userUsageReport().get(
    userKey='all',
    date='2013-08-01',
    maxResults=1).execute()

其他API只适用于该服务帐户。'https://www.googleapis.com/auth/admin.reports.usage.readonly'已正确添加到OAuth2域配置页。

尝试:

    credentials = SignedJwtAssertionCredentials(
        service_account_name='5163XXXXX@developer.gserviceaccount.com',
        private_key=oauth2_private_key,
        scope='https://www.googleapis.com/auth/admin.reports.usage.readonly',
        sub='super-admin@yourdomain.com')

在将服务帐户与Admin SDK一起使用时,您仍然需要代表Google Apps实例中的管理员行事。

此外,请确保服务帐户客户端ID已被授予使用Google应用程序控制面板中的Reports API范围的权限。Google Drive文档很好地描述了这个过程,只是在报告范围中进行了细分。

相关内容

  • 没有找到相关文章

最新更新