背景: 所以我是整个应用引擎的新手:我在谷歌应用引擎上创建了一个应用程序,在主页面上接受用户输入,然后将信息发送给处理程序,然后处理程序使用Big Query API运行同步查询我上传到Big Query的一些表格。然后处理程序将查询结果作为json发回。
问题: 在部署中,它主要起作用,除非有时用户在尝试进行同步查询时经常会遇到此错误:
Error in runSyncQuery:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "termsOfServiceNotAccepted",
"message": "BigQuery Terms of Service have not been accepted"
}
],
"code": 403,
"message": "BigQuery Terms of Service have not been accepted"
}
}
经过一番搜索后,我发现了这个: https://groups.google.com/forum/#!msg/bigquery-announce/l0kwVNpQX5A/ct0MglMmYMwJ
如果您进行了作为最终用户进行身份验证的API调用,那么当最终用户未接受更新的服务条款时,API调用很快就会返回错误。根据BigQuery API构建的应用应理想地查找这些错误,并将用户引导至Google API控制台以接受新条款。
除了我真的不明白该怎么做。
我测试过我的应用程序的所有潜在用户帐户都可以访问启用了Big Query API的特定项目,并且可以使用API,为什么会弹出这个?
此外,有时特定帐户不会遇到此问题。例如,如果我一直刷新并重试使用该应用程序最终它将没有这个问题和工作。但是下一次这个错误会再次出现。 我不明白用户如何在一个时间点接受服务条款,而不是在将来某个时候接受另一个服务条款?
答案 0 :(得分:0)
是的,任何授权访问BigQuery API的最终用户都必须接受Google Developers Console在https://developers.google.com/console提供的服务条款(ToS)
服务条款可能会发生变化,并且您的某些项目成员尚未接受更新的BigQuery ToS。如果您的某个用户在授权访问BigQuery API时收到此消息,则会将其重定向到https://developers.google.com/console以接受服务条款。
Re:“特定帐户不会遇到此问题” - 您能否确认这与特定项目的特定帐户一致?