0

背景:所以我是整个应用引擎的新手:我在 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,为什么会出现这种情况?

此外,有时特定帐户不会遇到此问题。例如,如果我不断刷新并重新尝试使用该应用程序,它最终不会出现这个问题并且可以正常工作。但是下次这个错误会再次出现。我不明白用户如何可以在某个时间点接受服务条款,然后在未来某个时间点不接受另一个?

4

1 回答 1

0

是的,任何授权访问 BigQuery API 的最终用户都必须接受 Google Developers Console 提供的服务条款 (ToS),网址为https://developers.google.com/console

服务条款可能会发生变化,并且您的一些项目成员尚未接受更新后的 BigQuery ToS。如果您的一位用户在授权访问 BigQuery API 时收到此消息,您可以将他们重定向到https://developers.google.com/console以接受服务条款。

回复:“特定帐户没有遇到此问题”-您能否确认这与特定项目的特定帐户一致发生?

于 2012-11-05T23:09:50.763 回答