将数据从android应用程序导出到消费者';谷歌地图
因此,我有一个应用程序,可以让人们在应用程序中有序地存储数据。 它将数据显示为表格,并使用SQLite将数据存储在设备中 虽然这对一些用户来说已经足够了,但他们中的许多人要求提供一项功能,让应用程序将应用程序的数据导出到他们自己的私有谷歌表单中。数据不与任何其他服务器同步,仅驻留在应用程序上 我面临的问题是,互联网上几乎所有的指南都显示了如何与您可以访问的数据库同步,例如,工作表的名称等。 虽然这可以用于分析目的,但这不是我需要的 数据也是高度机密的,因此我不能先复制到我的工作表,然后再将其传输到他们的工作表(即使存在这样的功能) 请向我提供有关如何在不破坏数据本身保密性的情况下(直接从应用程序到工作表)访问私人工作表的详细步骤 注意:我使用的是颤振框架,是一款仅限android的应用程序。如果您不想直接访问用户数据,请将独立的应用程序脚本部署为Web应用程序 为此,您至少需要一个将数据从android应用程序导出到消费者';谷歌地图,android,excel,flutter,google-apps-script,google-sheets,csv,service-accounts,Android,Excel,Flutter,Google Apps Script,Google Sheets,Csv,Service Accounts,因此,我有一个应用程序,可以让人们在应用程序中有序地存储数据。 它将数据显示为表格,并使用SQLite将数据存储在设备中 虽然这对一些用户来说已经足够了,但他们中的许多人要求提供一项功能,让应用程序将应用程序的数据导出到他们自己的私有谷歌表单中。数据不与任何其他服务器同步,仅驻留在应用程序上 我面临的问题是,互联网上几乎所有的指南都显示了如何与您可以访问的数据库同步,例如,工作表的名称等。 虽然这可以用于分析目的,但这不是我需要的 数据也是高度机密的,因此我不能先复制到我的工作表,然后再将其传输
doGet(e)
或doPost(e)
方法,如中所述
您可以通过以下方式访问参数
以下是如何在Web应用程序中处理数据的示例:
function doPost(e) {
/*
* jsonData = {
* data: [
* ['column1', 'column2', 'column3'],
* ['row1c1', 'row1c2', 'row1c3'],
* ['row2c1', 'row2c2', 'row2c3'],
* ['row3c1', 'row3c2', 'row3c3']
* ]
* }
*/
const jsonData = JSON.parse(e.postData.contents);
var exportDataSheet = SpreadsheetApp.create(`Export-${new Date()}`);
var sheet = exportDataSheet.getActiveSheet();
var rangeData = sheet.getRange(1, 1, jsonData.data.length, jsonData.data[0].length);
rangeData.setValues(jsonData.data);
}
一旦您创建了独立应用程序脚本方法doGet(e)
或doPost(e)
,您需要将脚本作为web应用程序,然后通过HTTP POST请求访问部署()后给出的端点
创建的电子表格将由访问端点的用户创建(如果您对其进行了配置)。最安全的方法是将数据库数据导出为。它很容易被你的应用程序的用户导入为谷歌表单。这避免了
- 请求用户访问其Google驱动器的权限
- oauth或任何授权程序
- 该格式也被各种电子表格软件广泛接受,如
如何在不破坏数据本身机密性的情况下(直接从应用程序到工作表)访问私人工作表
这可以尝试使用。但是,作为服务帐户所有者,您将有权访问数据。此外,您还必须注意整个授权流程和数据安全。这会在用户的google drive中创建一个私有电子表格吗?最简单的方法是以csvI形式导出。我想我只需要使用CSV方法。谢谢你的回答。这正是我要找的。