背景:所以我是整个应用引擎的新手:我在 google 应用引擎上制作了一个应用,它在主页上接受用户输入,然后将信息发送到处理程序,然后使用 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,为什么会出现这种情况?
此外,有时特定帐户不会遇到此问题。例如,如果我不断刷新并重新尝试使用该应用程序,它最终不会出现这个问题并且可以正常工作。但是下次这个错误会再次出现。我不明白用户如何可以在某个时间点接受服务条款,然后在未来某个时间点不接受另一个?