3

我正在使用 Fusion 表来存储一些地理数据。我想允许用户使用他们的谷歌账户访问[读/写]这个表。谁能让我知道如何做到这一点?

我尝试使用 OAUTH2.0 [以此作为参考] 并使用客户端凭据来执行此操作。但是,似乎该表是在用户帐户而不是管理员帐户中创建的。

4

2 回答 2

3

我知道这个问题有点老了,但我想我会为更多的搜索者提供答案。

从根本上说,Google Fusion 可以用作私人数据库,通过绑定到 Google Apps 企业帐户的 Google Apps 服务帐户进行访问。

服务帐户:创建一个应用程序并转到https://console.developers.google.com/project/[appname]/permissions并授予您的应用程序电子邮件地址所有权(在权限部分);要使用服务帐户(用于 2LO 身份验证),然后单击“创建新客户端 ID”,然后生成将在应用程序中使用的新 P12 密钥,如果您还生成 JSON 密钥,则该密钥中的文本将包含稍后需要的电子邮件地址。

GOOGLE 应用程序:https ://admin.google.com/[AppDomain]/AdminHome?fral= 1 在管理控制台中转到安全并选择“管理 API 客户端访问”。API 客户端名称应取自前面步骤生成的 JSON 文件;范围应与设置服务帐户凭据对象时将在代码中使用的范围相匹配。如果您查看 Google Code Playground ( https://developers.google.com/oauthplayground/ ),您将看到所有可能的 API 范围的确切拼写和设置。对于融合表范围目前是https://www.googleapis.com/auth/fusiontables

融合表:融合表现在需要业务管理员电子邮件帐户作为编辑器

Everything should now be setup to access a private fusion table from code. Lots of example code at: https://developers.google.com/oauthplayground/

于 2015-06-29T13:18:38.087 回答
0

首先要注意:如果您想在网页上的 Google 地图上可视化这些数据(使用 FusionTablesLayer),您唯一的选择是将您的表格共享为公开。这意味着每个人都有读取权限。没有解决方法。忍受它。

对于写访问:您可以使用 Google Drive API 来设置您的融合表的权限。 https://developers.google.com/drive/v2/reference/permissions/insert 您需要先使用您的管理员帐户创建融合表(我认为服务帐户更合适),然后使用权限授予任何人访问权限访问您的页面。

于 2013-02-12T12:14:39.797 回答