【问题标题】:"Encountered an error while globbing file pattern" error when using BigQuery API w/ Google Sheets使用带有 Google 表格的 BigQuery API 时出现“在查找文件模式时遇到错误”错误
【发布时间】:2017-04-05 12:51:45
【问题描述】:

尝试从 BigQuery API 访问联合源(Google 表格)时,会引发以下错误:

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

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

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

【问题讨论】:

    标签: google-drive-api google-bigquery google-sheets-api


    【解决方案1】:

    当允许 API 查询 BigQuery 中的联合表时,需要遵循 3 个步骤 - 该表指向云端硬盘中的文件,即 Google 表格。

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

    1. 使用 Google Cloud Platform Console enable the Google Drive API 为进行 API 调用的项目。
    2. 在 BigQuery 的范围之外请求 OAuth scope for Google Drive
    3. 将您正在使用的服务帐户电子邮件添加到云端硬盘中的文件。它看起来像&lt;project-id&gt;-&lt;fingerprint-hash&gt;@developer.gserviceaccount.com。 “查看”权限就足够了。

    【讨论】:

    • 好时机。最近也有这个问题,错过了第三步。授予权限的帐户与 API 代码使用相应“密钥 ID”的帐户相同(列在服务帐户部分的 iam-admin 页面上),您可以出于不同原因针对项目创建多个帐户(以及从而针对不同的谷歌表格为不同的用户提供不同的权限)。
    • 第三点的来源是什么? fingerprint-hash 到底是什么?有文件吗?
    猜你喜欢
    • 1970-01-01
    • 2020-11-14
    • 2017-08-14
    • 2017-12-14
    • 2017-07-12
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多