问题标签 [google-vault-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 从 Google Vault API 导出查询结果时的 FAILD 状态
我正在使用 Google Vault API(python 脚本)从 google 聊天中查询消息数据。我有大约 1800 封邮件,但是当我从第 1000 封邮件查询到第 1050 封邮件时,导出状态返回 FAILED,没有任何错误消息,也没有错误消息。然后当我从第 1050 到 1100 封邮件查询时,文件正常导出。
考虑到从1000到1050的邮件有一些异常,我试着从1000到1010,从1010到1020,……从1040到1050查询。但是这时候他们都工作了!
我需要建立一个系统来自动化这个过程,所以我不能像这样手动完成,而且每 10 封电子邮件查询非常耗时。因此,请帮助我找出问题所在,以便我可以一次查询所有 1800 封电子邮件而无需 FAIED 状态。
这是我的查询代码:
google-cloud-functions - GoogleCredentials.getApplicationDefault() 返回意外结果
我正在使用谷歌云功能,无法让默认服务帐户正常工作。如果我传入 JSON 凭据文件,服务帐户可以正常工作。但是,如果我将相同的服务帐户设置为该功能的默认帐户,则会出现错误。此外,如果我在本地运行并使用也设置为同一帐户的默认服务帐户,则代码可以正常工作。当函数在云中运行时我得到的错误是:
该用户不属于 G Suite 客户。
这通常意味着服务帐户未获得域范围委派的授权,或者没有指定 G-Suite 用户进行模拟。来自云控制台的使用指标表明正确的服务帐户用于运行该功能。此帐户也按预期出现在函数的运行配置部分中。我同时使用 G-suite 功能(保险柜)和谷歌云功能(存储)。该服务帐户是为域范围的委派设置的,我正在设置一个 Gsuite 用户来模拟。
总之,相同的服务帐户和用户:
- 如果我传入 JSON 凭据文件,则可以在云或桌面上工作,
- 无法在云中使用相同的服务帐户设置为默认值,
- 在我的笔记本电脑上使用与默认服务帐户设置相同的服务帐户。
功能上的运行选项卡显示正确的服务帐户,使用统计数据还表明正在使用正确的服务帐户。我想使用默认服务帐户,因此我不必管理存储和检索凭据。
相关代码如下:
该错误稍后发生在我实际调用 Vault 服务的代码中,并且服务器返回 400 响应并指示错误。请注意调试语句logger.debug(credentials.toString())
。在函数工作的所有情况下,credentials.toString() 返回预期结果,如下所示:
ServiceAccountCredentials{clientId=1111111111222233, clientEmail=myfunction@appspot.gserviceaccount.com, privateKeyId=aaaabb12bgbaaaaaaaaaaa, transportFactoryClassName=com.google.auth.oauth2.OAuth2Utils$DefaultHttpTransportFactory, tokenServerUri=https://oauth2.googleapis.com/token, scopes= [https://www.googleapis.com/auth/devstorage.read_write, https://www.googleapis.com/auth/devstorage.full_control, https://www.googleapis.com/auth/ediscovery], defaultScopes= [],serviceAccountUser=my.user.account@mydomain.com,quotaProjectId=null,lifetime=3600,useJwtAccessWithScope=false}
但是,当使用云中的默认服务帐户时credentials.toString()
返回
ComputeEngineCredentials{transportFactoryClassName=com.google.auth.oauth2.OAuth2Utils$DefaultHttpTransportFactory}
在我看来,我的问题是GoogleCredentials.getApplicationDefault()
在云上运行时没有返回预期的结果。我在https://cloud.google.com/docs/authentication/production之后设置了服务帐户。
还有什么我需要做的吗?有关可能验证问题所在的其他诊断语句的任何提示?功能上的运行选项卡显示正确的帐户,我正在使用项目的默认帐户。
google-vault-api - 如何检索 GSuite 中保留的现有导出的最新统计信息
Iam Gsuite AdminUser 拥有 google vault 特权。我正在尝试检索被搁置的特定帐户的最新统计信息。要求为现有保留的最新统计数据建议 API 端点。
谢谢维什纳维