我正在ai2中创建一个应用程序,它连接到我的一个融合表作为高分数据存储区。
如果我使用传统的Oauth2流程,那么每个用户都会看到 他们的 fusiontable的oauth登录,这不是我想要的。
我已经设置了
Android应用程序的客户端ID
在google开发者控制台中给了我
Client ID xxxxxxxxx.apps.googleusercontent.com
Redirect URIs
urn:xxx:xxx:xxx
http://localhost
Package name appinventor.ai_xxxxxxxx.xxxxxxxx
Certificate fingerprint (SHA1) 12:34:56 etc
Deep linking Disabled
我想要的是我的应用程序使用我的凭据连接到我的fusiontable,无论哪个设备或哪个用户。我该怎么做?
由于
答案 0 :(得分:1)
该文档是为您的应用创建融合表的非常简单明了的指南。
https://docs.google.com/document/d/1HifuZqz5xu0KPS-e4oUv-t-nQoUQ8VMNyh_y6OjZkc0/pub
步骤:
首先,您必须在console.developers.google.com创建一个项目。
然后转到菜单中的API管理器。搜索并启用融合表API。
现在创建一个服务帐户密钥。您可能必须在凭据菜单中查看此设置。选择“启用Google应用范围内的委派”。服务帐户是与该帐户共享融合表时您的应用可以使用的本地化电子邮件地址。它比提供链接的任何人都可以编辑设置提供更多的安全性。
现在转到“新凭据”>“服务帐户密钥”。选择P12,文件将自动下载。如果文件名中包含空格,请将其删除。
接下来,创建一个Google融合表。
现在与您创建的服务电子邮件共享表。将权限设置为可以编辑。取消选中通知框,然后点击共享。
现在,转到App Inventor。您需要:
- 您的服务帐户电子邮件地址(也称为服务帐户ID)
- 服务帐户密钥文件(.p12)
- 融合表ID代码(现在不用担心)
首先,上传密钥文件。
在融合表组件属性菜单中,将KeyFile属性设置为密钥文件。复制您先前创建的电子邮件地址,并将其粘贴到ServiceAccountEmail属性中。选中使用服务验证框。
最后一步:在融合表中,转到“文件”>“关于此表”。复制表格ID。对表进行操作时,将需要此ID。您可以根据需要将其存储在变量中。
此属性意味着您可以通过同一服务帐户共享和使用多个不同的表。只需共享将与服务帐户一起使用的其他表,并在对该表进行操作时使用该表的ID。