我使用Fusion表来存储一些地理数据。我想允许用户使用他们的Google帐户访问此表的[读/写]。谁能告诉我怎么做?
我尝试使用OAUTH2.0 [使用this作为参考]并使用客户端凭据执行此操作。但是,似乎该表是在用户帐户而不是管理员帐户中创建的。
答案 0 :(得分:3)
我知道这个问题有点旧,但我想我会为更多的搜索者提供答案。
从根本上说,Google Fusion可以用作通过与Google Apps企业帐户绑定的Google Apps服务帐户访问的私人数据库。
服务帐户:创建应用&转到https://console.developers.google.com/project/[appname]/permissions&给你的应用程序电子邮件地址所有权(在权限部分);要使用服务帐户(用于2LO身份验证),然后单击“创建新客户端ID”&然后生成一个新的P12密钥,您将在应用程序中使用该密钥,如果您还生成了JSON密钥,该密钥中的文本将包含您稍后需要的电子邮件地址。
GOOGLE APPS:https://admin.google.com/[AppDomain]/AdminHome?fral=1 在管理控制台中转到安全&选择“管理API客户端访问”。 API客户端名称应取自前面步骤生成的JSON文件;在设置服务帐户凭据对象时,范围应与您在代码中使用的范围相匹配。如果您查看Google代码游乐场(https://developers.google.com/oauthplayground/),您会看到确切的拼写和&设置所有可能的API范围。对于融合表,范围目前为https://www.googleapis.com/auth/fusiontables
FUSION TABLE:融合表现在需要业务管理员电子邮件帐户作为编辑器
现在应该设置所有内容以从代码访问私有融合表。许多示例代码位于:https://developers.google.com/oauthplayground/
答案 1 :(得分:0)
首先要注意的事项:如果您想在网页上的Google地图上显示这些数据(使用FusionTablesLayer),您唯一的选择就是将您的桌面公开分享。这意味着对每个人的读取权限。没有解决方法。和它一起生活。
对于写访问权限:您可以使用Google Drive API设置Fusion表的权限。 https://developers.google.com/drive/v2/reference/permissions/insert 您需要先使用管理员帐户创建融合表(我认为服务帐户更合适),然后使用权限授予访问您网页的访问权限。