新版Google电子表格的BigQuery访问权限

时间:2014-01-07 15:26:32

标签: google-apps-script google-sheets google-bigquery

解决: 事实证明,这是云控制台中的身份验证问题。当我单击“高级服务”面板中的链接时,它会在打开控制台时切换到我的主登录帐户。对于遇到类似问题的任何人,我建议退出所有其他帐户。


原始问题。 由于删除了旧版Google表格中的限制,我尝试将代码迁移到新的Google表格。但是,我无法运行我的代码,因为我无法为电子表格启用此代码。

(对于任何不知道我的意思的人,这是新版Google电子表格:http://googleblog.blogspot.nl/2013/12/new-google-sheets-faster-more-powerful.html

我先尝试一下:
资源>推进Google服务> BigQuery API“on”
然后:
我点击“必须在Google Developers Console中启用这些服务”中的链接。这会将我带到cloud.google.com,并显示错误“您请求的项目不可用”。

图片可以在这里找到:i44.tinypic.com/117zcld.png

当我在旧的Google表格中执行相同的操作时,根本没有问题。我阅读了不支持的功能列表,但我发现某些应用程序脚本功能尚不可用,但未指定它们:https://support.google.com/drive/answer/3543688?hl=en&ref_topic=20322 这是否意味着New Google Spreadsheets尚未提供BigQuery API访问权限?如果是这样,您是否有任何关于何时可能在将来可用的信息?

亲切的问候,René

1 个答案:

答案 0 :(得分:2)

这是我遵循的步骤:

  • Created a new Google Spreadsheet,点击您提供的链接。
  • 去了脚本管理器,打开了BigQuery。
  • 随后链接到Google Developers Console,它运作良好。
  • 也在那里开启了BigQuery。
  • 写了一个小脚本。
  • 它奏效了!

不确定您的特定电子表格失败的原因。你能尝试创建一个新的吗?

我的测试脚本:

function quickBigQueryTest() {
  var resource = {
      query: 'select 1 x',
      timeoutMs: 1000
    };
  var queryResults = BigQuery.Jobs.query(resource, 'project number');
  Logger.log(queryResults);
  var sheet = SpreadsheetApp.getActiveSheet();
  var headers = queryResults.schema.fields.map(function(field) {
    return field.name;
  });
  Logger.log(headers);
  sheet.appendRow(headers);
}