【问题标题】:Table Insert and Updates using Google Fusion Table API gives 403使用 Google Fusion Table API 的表格插入和更新给出 403
【发布时间】:2012-05-07 19:11:37
【问题描述】:

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

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

我可以使用我的访问令牌(我通过传递我的客户端密码和刷新令牌凭据接收)对这个表进行选择,以编程方式没有问题。

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 凭据以进行插入/更新?

【问题讨论】:

    标签: google-fusion-tables


    【解决方案1】:

    我自己对 Fusion 表还是很陌生,但我最近构建了一个 javascript Web 应用程序,它可以插入/更新表。

    首先,如果它是一个 javascript 网络应用程序,您需要授权更新/插入将来自的 URL。通过 Google API 控制台执行此操作...

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

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

    如果您使用来自服务器端代码的 POST 数据,则无需担心这一点——在这种情况下,重要的是(我认为)确保数据仍然通过 SSL 传输(尽管,不是 100% 确定的,因为我只在客户端 JavaScript 领域工作)。

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

    我找到了这两页...

    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

    ...实际上提供了结束我的鞭打的具体代码,并让我在将数据推送到我的融合表方面取得了一些进展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多