如何连接元数据库和谷歌表格?

Posted

技术标签:

【中文标题】如何连接元数据库和谷歌表格?【英文标题】:How to connect Metabase with Google Sheet? 【发布时间】:2019-12-08 18:38:28 【问题描述】:

我有我们公司大量使用的元数据库的用户名和密码。每天我必须经常下载 CSV,然后将它们导出到谷歌表格以进行报告或分析。有什么方法可以将 Metabase 连接到 Google 表格,以便表格自动从 Metabase url 中提取 CSV?

【问题讨论】:

使用 API 检索数据怎么样? Ref如果这不是你想要的方向,我很抱歉。 【参考方案1】:

您可以尝试使用 Google Apps 脚本编写脚本来解决您的问题。一个想法是使用 UrlFetchApp.fetch() 方法,该方法允许脚本与其他应用程序通信或通过请求获取 URL(在您的情况下为元数据库 URL)来访问 Web 上的其他资源。

以下代码 sn-p 可能会让您大致了解下一步该做什么:

function myFunction() 
  var sheet = SpreadsheetApp.getActive().getSheets()[0];

  var data = 
    // the data that you will be using
  ;

  var options = 
    'method': 'post',
    'payload': data
  ;

  var response = UrlFetchApp.fetch('https://metabase.example.com/api/card/1/query/json', options);

  var responseData = JSON.parse(response.getContentText());

  sheet.appendRow(responseData);

它实际上做了什么:它使用 Metabase API 通过使用 POST 请求来获取您想要的数据(使用 POST 请求的原因是因为根据 API Documentation for Metabase v0.32.2 它运行与一张卡片,并将其结果作为指定格式的文件返回)。然后使用.appendRow() 将请求的响应附加到您的工作表中。

此外,您可以在此处阅读有关 UrlFetchApp 和 Apps 脚本的更多信息:

    Class UrlFetchApp;

    Apps Script;

    Spreadsheet App.

【讨论】:

【参考方案2】:

我已经实现了Google Sheets add-on as a solution for this and open-sourced it。

我在一家大型组织中将此代码用作 Google 表格插件,到目前为止它运行良好,每周有数百名用户运行数万次查询。

这是实际效果:

如果您不想麻烦地将其设置为 Google 表格插件,您可以使用该脚本并将其改编为简单的 Apps 脚本。

【讨论】:

【参考方案3】:

你可以add a Google Sheet as an external table in Google Big Query,然后connect Metabase to Google BigQuery。

【讨论】:

以上是关于如何连接元数据库和谷歌表格?的主要内容,如果未能解决你的问题,请参考以下文章

如何将元数据谷歌语音传递给文本 api - swift ios

如何通过表格视图单元格中的 url 预览元数据?

元数据

如何查看 Sybase 中的列元数据?

谷歌身份验证时苹果应用被拒绝(元数据)

如何更改 iTunes 连接元数据中的图像位置? [关闭]