szjuliet 发表于 2023-9-22 20:08:25

【App Inventor数据可视化】 使用电子表格和图表附录B:为Goo...

本帖最后由 szjuliet 于 2023-9-22 20:08 编辑

【App Inventor数据可视化】 使用电子表格和图表附录B:为Google表格创建一个凭证
Part 1:通过图表理解数据
Part 2:通过比较数据集加深理解
Part 3:通过比较多个例子收集证据
Part 4:在App中添加数学模型
附录A:将app连接到自己的数据集
附录B:为Google表格创建一个凭证




## 学习目标
在本指南中,你将:为Google Sheets创建一个凭证,以读取和写入私有电子表格

## 1.      考虑你是否需要一个Google Sheets凭证!

* “凭证”是来自谷歌的长密码,允许你的app连接到Google Sheets的电子表格。

* 密码以小的计算机文件的形式出现,你可以将其上传到App Inventor以用于你的app。

* 只有下面高亮情况才需要使用本指南来生成自己的凭证。
![](https://markdown.liuchengtu.com/work/uploads/upload_fde66b605c2cfedd75a6822caf971f25.png)

**注意:**

* 想知道你的电子表格是公共的还是私有的,在Google Sheets检查以下设置:
![](https://markdown.liuchengtu.com/work/uploads/upload_e5963dfa4d0b931046a412a956825fef.png)

* 如果你不想操作生成凭证的步骤,把你的私有电子表格改成公共的 -- 只要电子表格里没有敏感数据。
![](https://markdown.liuchengtu.com/work/uploads/upload_eff065c5ae1ce750eb06584991554636.png)

## 2.      如何创建Google Sheets凭证

以下是本指南创建凭证步骤的快速概述:

* 准备好你的Google账号的用户名和密码。(或者免费创建一个谷歌账户。)

* 使用你的Google密码启动Google Developer帐户(同样免费)

* 作为开发人员创建一个服务账户

* 用Google Sheets建立一个编码项目

* 下载服务帐号密钥,并复制服务帐号邮箱地址

* 当需要将 app 连接到Google Sheets时,将密钥上传到App Inventor。使用服务帐户电子邮件地址来在线访问你的私有电子表格。

## 3.      创建谷歌开发者账户。

* 你有标准的Google邮箱或Google Drive账号吗?如果没有,请在*www.google.com*上创建一个帐户。

* 使用你的Google帐户用户名和密码登录 *developers.google.com*。
![](https://markdown.liuchengtu.com/work/uploads/upload_de5578ecd10b76bf2219c5662b79b734.png)
![](https://markdown.liuchengtu.com/work/uploads/upload_abf5a042ed349d8cafa2100474a86811.png)

## 4.      创建一个“项目”

* 谷歌将你的开发工作组织到你命名和建立的各种项目中。参照以下步骤创建一个编码项目。

* 当使用步骤3登录到你的谷歌开发者账户后,转到 *console.developers.google.com*。

* 如果这是你第一次使用你的谷歌开发者账户,你会看到一个服务条款的提示。勾选复选框并继续。
![](https://markdown.liuchengtu.com/work/uploads/upload_5418d6feeb5e08e64909155b33c1ba42.png)

* 在开发者面板上,点击CREATE PROJECT创建一个项目。
![](https://markdown.liuchengtu.com/work/uploads/upload_daea084f097d2150f21b5673098d4055.png)

**注意**:如果你之前已经在Google Cloud中创建过项目,你的屏幕将如下面的图所示。

* 点击图示的框:
![](https://markdown.liuchengtu.com/work/uploads/upload_d95a5f2a879e4cec01f2db889cee581d.png)

* 点击NEW PROJECT:
![](https://markdown.liuchengtu.com/work/uploads/upload_5009f68656a2a4e9d66431d386a53a7d.png)

* 在新建项目页面,给项目起一个名字。名字不重要。在本例中,我们将其命名为“My Applesauce App”。
![](https://markdown.liuchengtu.com/work/uploads/upload_8156cedf50fcd11c9d794d03672366c0.png)

* 编码项目不需要提供组织,所以将其设置为No organization。
![](https://markdown.liuchengtu.com/work/uploads/upload_41691c43cac4d08d7abd6764ecd692c5.png)

* 单击“CREATE”。
![](https://markdown.liuchengtu.com/work/uploads/upload_f20f1c13367e7db471842a2542bde06a.png)

**译注:**
谷歌的免费项目是有配额的,我以前开发过App Inventor项目,所以不会出现“CREATE PROJECT”按钮。点击自己的项目,NEW PROJECT显示配额已达到上限。跟随指引可以发送一个申请配额的请求。我申请增加的配额是5个。没多久就收到了邮件,配额通过了。
![](https://markdown.liuchengtu.com/work/uploads/upload_b51bda347b1885c3b33e012a592d9011.png)

![](https://markdown.liuchengtu.com/work/uploads/upload_1fcd964d160468c323af1ff14e9a9678.png)

![](https://markdown.liuchengtu.com/work/uploads/upload_a38163ac1f96c367326f5a2835849389.png)


## 5.      启用Google Sheets API。

* 点击+ ENABLE APIS AND SERVICES。(API是Application Programming Interfaces app编程接口的缩写,是通过互联网连接到服务的标准方式。想了解更多,请看我们的[餐馆比喻](https://docs.google.com/presentation/d/1bn8a6V51kzWW9JOustT8yCHkZsSaMwX3DjGO11U59bM/edit?usp=sharing)。)
![](https://markdown.liuchengtu.com/work/uploads/upload_d62f210723ac7cc2b6d924f76211c21b.png)

* 在搜索栏中输入“Google Sheets API”并选择匹配的条目。
![](https://markdown.liuchengtu.com/work/uploads/upload_e188768b5eb90a65a5b531e5e3e01c9d.png)
下图是我在自己账号中的操作:
    ![](https://markdown.liuchengtu.com/work/uploads/upload_92fbb67ce8e85c7a942c7901bfd52c00.png)


* 单击“启用”。
![](https://markdown.liuchengtu.com/work/uploads/upload_6ea59899a572f06f141aecebe2d19d7d.png)

* 你应该看到这个屏幕:
![](https://markdown.liuchengtu.com/work/uploads/upload_f68b7e4a2f37f71941be5737befa65c4.png)
我自己账号下操作:
    ![](https://markdown.liuchengtu.com/work/uploads/upload_125067b27426096d0a2407090cac8822.png)

## 6.      创建服务帐户和凭据。

* 为Google Sheets API创建一个服务帐户。服务帐户提供了唯一的电子邮件地址和密码(凭证),以便作为程序员访问Google Sheets。

* 在屏幕右侧,单击CREATE CREDENTIALS。
![](https://markdown.liuchengtu.com/work/uploads/upload_40461a21a713dcbb1b33080e89bebabd.png)

* 操作向导会问你正在做什么样的项目。顶部的“Which API are you using ?”,选择的应该是“Google Sheets API”。如果没有选项,点出下拉框选择这个选项。
![](https://markdown.liuchengtu.com/work/uploads/upload_877966d897eaad68d3c25f132f25ebd9.png)

* 在“What data will you be accessing?”下选择“**Application data**”。
![](https://markdown.liuchengtu.com/work/uploads/upload_76e1ea1700d28f95dc09b4f0344a24a0.png)

* 在“Are you planning to use this API with Compute Engine, Kubernetes Engine, App Engine, or Cloud Functions?”这个问题下,选择“**No, I’m not using them.**。”
![](https://markdown.liuchengtu.com/work/uploads/upload_41617cf196c94556ae2dbe6dc1f165f1.png)

* 单击“NEXT”。
![](https://markdown.liuchengtu.com/work/uploads/upload_6d31bc6f004cf00aba52b5f4a2cbbea0.png)

* 你应该看到创建服务帐户的屏幕:
![](https://markdown.liuchengtu.com/work/uploads/upload_04554b9281de2893b884e13272b71cac.png)


* 填写**service account name**。用什么名字不重要。在本指南中,我们将其命名为“example-service”。
![](https://markdown.liuchengtu.com/work/uploads/upload_db91d8bb5808c56dee8945413f358f86.png)

* 点击“ **CREATE AND CONTINUE** ”
![](https://markdown.liuchengtu.com/work/uploads/upload_2c71edcd2f9a6150a4aac1312f895fe0.png)

* 在“Select a Role选择角色”下拉菜单中,选择“**Owner**”以授予此服务帐户足够的权限。(如果稍后返回菜单,它会在“Owner”下提供更多选项,但你可以忽略它们。)
![](https://markdown.liuchengtu.com/work/uploads/upload_261582b4596992777da2dbbad51ec94d.png)

    ![](https://markdown.liuchengtu.com/work/uploads/upload_e7d7b71ead567a98c193293803a18102.png)

* 按“**DONE**”。(忽略“3 Grant Users Access to this Service”。)
![](https://markdown.liuchengtu.com/work/uploads/upload_b28acbf9cfc1dd64ebae2c6481a236ab.png)

## 7.      从你的服务帐户下载一个密钥(并保证它的安全!)。

* 密钥就像一个密码,你可以用它来让你的app访问Google Sheets API。在制作app时,你将使用App Inventor中的密钥(App Inventor中的属性是CredentialsJSON)。

* 根据你的帐户,你可能在以下其中一页。单击**Credentials**选项以进入凭证列表。你可以看到这个页面:
![](https://markdown.liuchengtu.com/work/uploads/upload_0c1f4267ae4c29c22a3987b710b5db50.png)

* 或下面这个页面:
![](https://markdown.liuchengtu.com/work/uploads/upload_e6dd1434b03a8b626ef6df0104a6a6d1.png)

    ![](https://markdown.liuchengtu.com/work/uploads/upload_93df91d8304026668981c418ebb5ea81.png)

* 进入**Credentials**页面后,点击你的**Service Account**:
![](https://markdown.liuchengtu.com/work/uploads/upload_cb63452f95ae8f94cafad81537070b82.png)

* 点击KEYS。
![](https://markdown.liuchengtu.com/work/uploads/upload_5eed64dd04ae17bde99257870b2d3741.png)

* 单击“ADD KEY”。
![](https://markdown.liuchengtu.com/work/uploads/upload_3a34da88d4e25b1d19cdfbb2c48ebe54.png)

* 在“Key type”下选择**JSON**。该网站将下载一个包含长密码的文件到你的计算机。该文件格式称为JSON (JavaScript Object Notation)。
![](https://markdown.liuchengtu.com/work/uploads/upload_3c68b9cd1101ee9c1f60d3c28eb60c46.png)

* **确保JSON文件的安全!** 将此文件移动到计算机上易于记忆的位置。当在App Inventor中使用电子表格组件时,你需要上传这个JSON文件以使app正常工作。

## 8.      复制你的服务帐户电子邮件地址。

* 复制与你的服务帐户相关联的电子邮件地址。当使用Google Sheets和app时,你将使用此地址。
![](https://markdown.liuchengtu.com/work/uploads/upload_90b0aa1333635f74a5e03c27f989bea9.png)

* 确保保存完整的电子邮件地址。

* 把地址粘贴到手机或电脑的某个地方,以便稍后找到。(如果你丢失了它,你仍然可以登录到你的开发者控制台再次复制它。)

## 9.      在你的app中使用你的新凭证!

* 将你的新凭证添加到app。

    * 在组件设计中,选择一个Spreadsheet组件并查看CredentialsJson属性

    * 是否有现有的App Inventor凭证(如图所示)?你可以删除App Inventor凭证或简单地将凭证更改为你自己的。
![](https://markdown.liuchengtu.com/work/uploads/upload_0571fd2683694a882202605d2c521a7d.png)

    * 要添加凭证,请单击**CredentialsJson**框。
![](https://markdown.liuchengtu.com/work/uploads/upload_56113fe97efbf4306b0c596912d27846.png)

    * 点击**Upload File**,在你的硬盘上找到你的Google Sheets凭证(如“[数据在行动:在MIT App Inventor中使用电子表格和图表](https://docs.google.com/document/d/1J8xJopoU9gSBgdGVTBedoitlO8qZbomheNW7MoRmgVo/edit?usp=share_link)”指南中所述),并将其上传到你的app。
![](https://markdown.liuchengtu.com/work/uploads/upload_1f43a2bf381be02faeb96b0126a4e877.png)

    * 上传成功后应该是这样的:
![](https://markdown.liuchengtu.com/work/uploads/upload_1d4baea970b3cb5ce8443cf4d3ac9ba6.png)

* 将你的服务帐户电子邮件添加到你想要设置为私有的Google Sheets电子表格中(“Restricted受限”)

    * 在“Google Sheets”中单击“共享设置”,将电子表格设置为“**Restricted**”。
![](https://markdown.liuchengtu.com/work/uploads/upload_eb64286583fab59918fcffd8ec19b86a.png)

    * 点击“Add people and groups”
![](https://markdown.liuchengtu.com/work/uploads/upload_1d45d69b384b516996501154524b1310.png)

    * 添加上述创建的服务帐户邮箱。
![](https://markdown.liuchengtu.com/work/uploads/upload_31a02514392d2bc0d2252827491c33a8.png)
页: [1]
查看完整版本: 【App Inventor数据可视化】 使用电子表格和图表附录B:为Goo...