创建融合表所需的oauth?

时间:2013-05-06 17:25:50

标签: google-fusion-tables

这是一个理论问题,而不是一个实际问题。与此密切相关:Fusion Table and Google Service Accounts。我正在尝试制作一个创建,填充和查询一些Fusion表的应用程序。据我所知,如果表格都是公开的,则只需要API密钥。

否则,假设我应该使用Oauth,我不希望任何用户对任何内容进行身份验证,因为这将是App拥有的数据 - Google Fusion Tables(不涉及用户)。看起来我必须为此创建一个服务帐户:

https://developers.google.com/accounts/docs/OAuth2ServiceAccount

我已经创建了一个,获得了私钥和所有内容,但这是我迷路的地方,而且文档似乎没有帮助......我应该怎么处理这个私钥?我很想看到使用这个私钥来访问融合表的一步一步的例子......

谢谢! 亚历

1 个答案:

答案 0 :(得分:1)

可悲的是,我必须回答我自己的问题,但如果有人遇到同样的问题就行了。关于访问Fusion Tables,基本上有两种方法:

  • 用于访问Fusion Tables公共表的API密钥(仅限读取 权限)

这意味着如果您的应用只需要访问标记为“公共”的Fusion Tables,那么它就足够了。例如,下一个代码段显示了如何执行此操作(使用JERSEY发出REST请求)。我显然删除了我的API密钥,只需使用你的密钥:

        Client client = Client.create();
    String g = null;
    try {
        g = URIUtil.encodeQuery("https://www.googleapis.com/fusiontables/v1/query?sql=SELECT * FROM 1V5-SgN2tbPHrzFdsapEI541yTD9I3p7NQIXqeSo&key=[your key here]");
    } 
    catch (URIException e) {    
        e.printStackTrace();
    }

    WebResource webResource = client.resource(g);
    String s = webResource.get(String.class);
    Logger.debug(s);
  • 用于创建,填充,查询和删除Fusion Tables的服务帐户

如果您需要上述内容,并且您无法让真实用户干扰此过程,则需要一个服务帐户,可以在API console manager中轻松创建。我的建议是检查谷歌提供的样本的整个项目树here,并尝试一些服务帐户:融合表,加号和存储。我发现他们非常喜欢这个。

您可以在this question找到更多相关信息。

因此,它取决于您需要的访问级别,但大多数情况下,您需要进行Oauth身份验证。

希望这有助于某人。

此致 亚历