"Encountered an error while globbing file pattern" 使用 BigQuery API w/ Google 工作表时出错

"Encountered an error while globbing file pattern" error when using BigQuery API w/ Google Sheets

尝试从 BigQuery API 访问联合源(Google 张)时,抛出以下错误:

[..]
 "errorResult" : {
      "location" : "/gdrive/id/<removed_file_id>",
      "message" : "Encountered an error while globbing file pattern.",
      "reason" : "invalid"
    }
[..]

BigQuery中的table设置为指向这个文件。它通过 Web UI 工作。只有在尝试通过 API 查询 table 时,它才会因上述错误而窒息。

我猜这与权限有关。需要做什么才能允许从作为联合来源(指向 Google 工作表)的 API 访问 BigQuery table?

允许 API 在 BigQuery 中查询联合 table 时需要执行 3 个步骤 - 它指向云端硬盘中的文件,即 Google Sheets。

记录了两个步骤 here(我错过了第二个 - 添加驱动器范围)。最后一个是将用于访问 API 的关联服务帐户电子邮件添加到文件本身。

  1. 使用 Google 云平台控制台 enable the Google Drive API 进行 API 调用的项目。
  2. 请求 OAuth scope for Google Drive 除了 BigQuery 的范围。
  3. 将您正在使用的服务帐户电子邮件添加到云端硬盘中的文件。它看起来像 <project-id>-<fingerprint-hash>@developer.gserviceaccount.com。 "View"权限就够了。