使用Google Fusion Table API的表格插入和更新给出了403

时间:2012-05-07 19:11:37

标签: google-fusion-tables

我有一个融合表,我希望对我通过Google Docs创建的内容进行插入和更新。

我正在尝试使用OAUTH访问此表并通过WebApp和Java Client进行插入和更新

我可以使用我的访问令牌(我通过传递我的客户端密钥和刷新令牌凭据来接收)来选择此表,编程没有问题。

String sql = java.net.URLEncoder.encode("SELECT * FROM " + tableId, "ISO-8859-1");
uri = "https://www.google.com/fusiontables/api/query?access_token=" + token + "&sql=" + sql;

以上内容从表中返回我的行

然而,当我尝试插入时,我获取下面的消息

服务器返回HTTP响应代码:403为URL:https://www.google.com/fusiontables/api/query?access_token .....

只有在我首先以编程方式在Google API中创建表格时,插件才有效。如何确保我可以访问相同的表。我创建新表选项在“Google Docs”下我看到有一个共享按钮的位置,但我不知道为插入打开表的步骤,更新我可以执行插入而不从403获得响应谷歌服务器编程。我不是主人吗?如何在表中插入我的API凭证以进行插入/更新?

1 个答案:

答案 0 :(得分:1)

我自己对Fusion表格来说还是比较新的,但我最近构建了一个可以插入/更新表格的javascript网络应用程序。

首先,如果它是一个javascript web-app,您需要授权更新/插入来自的URL。通过Google API控制台执行此操作...

https://code.google.com/apis/console/

...在“API访问”菜单项下 - “JavaScript起源”是您需要将服务器主机名添加到的位。对表的任何插入/更新都需要通过SSL连接进行(即,有问题的页面需要以HTTPS开头://

如果您使用来自服务器端代码的POST数据,则不必担心这一点 - 在该实例中重要的是(我认为)确保该数据仍然通过SSL传输(尽管,不是100%肯定,因为我只在客户端javascript世界工作。

还要确保将Fusion Table API切换为ON(在“服务”菜单下)。

我找到了这两页......

http://code.google.com/p/google-api-javascript-client/wiki/Authentication https://developers.google.com/fusiontables/docs/v1/using#auth

...让我了解身份验证过程以及此示例页面非常有用......

http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/javascript-api.html

...实际上提供了特定的代码,结束了我的诽谤,并允许我在将数据推入融合表方面取得一些进展。