GWT 和 Google 文档 API

2024-04-25

我正在使用 GWT 创建一个简单的应用程序,让教师可以轻松创建自己的课程。

该应用程序将位于 Google App Engine 上,但我想将课程存储在用户的 Google 文档空间中。

是否可以?

据我所知,gwt 将 java 转换为 javascript,但 google docs api 是 java,我是否必须将 java 库上传到应用程序引擎存储?

有什么地方可以开始吗?有什么建议吗?

谢谢...


您需要 GWT 客户端的服务器端代理。

您的 GWT 客户端与 servlet 进行通信。 servlet 是使用 google docs API 的实际代理。

请阅读我的解释http://h2g2java.blessedgeek.com/2010/05/accessing-google-userservice-from-gwt.html http://h2g2java.blessedgeek.com/2010/05/accessing-google-userservice-from-gwt.html.

它解释了如何让 GWT 客户端能够与基于 Java 的 Google API 进行通信。它解释了,由于 GWT 要求所有涉及的 Java 源代码都可供 GWT 编译器使用,因此在某些情况下您根本无法让 GWT 客户端直接执行该任务。

http://h2g2java.blessedgeek.com/2009/08/tablemgr-gae-gwt-gdata-with-rpc.html http://h2g2java.blessedgeek.com/2009/08/tablemgr-gae-gwt-gdata-with-rpc.html类似地解释了如何使用代理方法结合 gae + gwt + google 文档。该帖子已经很旧了,因此它指向的网站不再工作,因为我还没有使用谷歌强制的身份验证措施更新 gae 应用程序。但它应该可以在您的本地计算机上运行。

上面订阅了网络服务器流范例。

然而,Google API 本质上是 REST API,它允许您使用 javascript 或 GWT 客户端直接访问它们。因此,您需要阅读 Google REST API 文档,而不是使用 Google API 的 Java 文档。

http://code.google.com/more/ http://code.google.com/more/除其他外,还提供了所有 Google 云 API 的列表。要避免使用网络服务器代理流范例,请选择 API 文档的 javascript 或 REST 版本。

这是谷歌文档/数据 API:http://code.google.com/apis/gdata/docs/client-libraries.html http://code.google.com/apis/gdata/docs/client-libraries.html.

选择 JavaScript API:http://code.google.com/p/gdata-javascript-client/ http://code.google.com/p/gdata-javascript-client/

我建议您首先通过 JavaScript 编码来练习使用这些 API。然后您就会很好地掌握在 GWT 中需要做什么。

在访问 Google REST API 之前,您应该使用 GWT API 进行身份验证。http://code.google.com/p/gwt-oauth2/ http://code.google.com/p/gwt-oauth2/.

本质上,您正在获取一个经过身份验证的令牌,您的客户端可以使用该令牌通过其 REST API 访问 Google 的数据。

仅供参考,简单来说,REST API 是已定义规范中的 URL,其中数据传输按照惯例主要采用 JSON 或 XML 格式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GWT 和 Google 文档 API 的相关文章

随机推荐

  • Firebase 错误地显示已删除的数据/Swift 3/Xcode 8.2

    我是编码新手 刚刚开始使用 Firebase 我正在运行以下函数 该函数基本上是尝试创建 2 个节点 锦标赛 和 每日游戏 如果它们尚不存在 数据库树应该如下所示 London City Game Date stringDate getti
  • PHP 正则表达式 [仅接受选定的字符]

    我想接受用户输入的字符列表并拒绝其余的 我可以接受格式化字 符串或查找是否缺少字符 字符串 但我如何才能只接受一组字符而拒绝所有其他字符 我想使用 preg match 来做到这一点 例如允许的字符有 a z A Z 用户必须能够以任何顺序
  • 使用 Google 的 Gson 进行严格的 JSON 解析?

    假设我正在使用 Google 的 Gson 库将 JSON 解析为 Java 数据结构 如果 Java 字段没有对应的 JSON 是否有简单的方法抛出异常 也就是说 我希望要求 JSON 具有 Java 结构中的所有字段 Gson 没有 J
  • JSLint 错误:将调用移至包含该函数的括号中

    我怎样才能让这个代码 jsLint 快乐 function window document undefined some code jQuery window document 它建议我这样写 会有什么不同吗 我该怎么办 function
  • 如何在 WPF 中的窗口上绘图(最佳实践)?

    我正在尝试编写一个类似交互式游戏的小型应用程序 我需要有一个Draw方法将在屏幕上绘制 但无法弄清楚如何构造 WPF 的方法 如果这是Winforms 我可以使用 public void Draw Graphics g 但对于一个WPF W
  • 我的 java 应用程序不读取我的文件(maven 项目)

    我有一个 Java 简单项目中的应用程序 但是 我需要将此项目粘贴到 Maven 项目中 因此 我基本上制作了一个简单的 Maven 项目 并将所有类复制并粘贴到其中 我需要在服务器中运行一个war 并且我需要像Java应用程序一样运行Ma
  • 从头开始创建 mp3 文件 C#

    作为一些实验的一部分 我想到了一些事情 如何在 C 中从头开始创建一个 mp3 文件 这实际上听起来像什么 例如 创建一个播放音符的 mp3 文件 C 或 B 降调 我怎样才能实现这一点 它必须是 mp3 文件 而不是 wav 或其他任何文
  • Python 寻求读取不断增长的文件

    我编写了一个 python 脚本 使用任务计划程序每 5 分钟运行一次 读取不断增长的日志文件 文本文件 并将数据插入数据库 每天生成新的日志文件 我需要修改它并在最后一行的末尾放置一个指针 因此当调度程序再次运行时 它会在最后插入的行之后
  • 普遍接受的变量名称格式 - C/C++

    我意识到这可能是一个偏好问题 但我注意到我见过的很多代码示例中的变量名称都有前缀g s m 要不就 这是一种普遍接受的做法吗 这些前缀的含义是什么 还有其他值得了解的吗 g 是一个全局变量 s 是一个静态的 m 是一个成员 实例变量 是成员
  • 如何在cocos2dx 3.0中调用callfunc函数

    我必须将 Objective C 转换为 C 11 我坚持使用以下语法 我已在 testcpp 中引用并尝试以下语法 这是我尝试过的代码 this gt runAction Sequence create blink CallFunc cr
  • Reset.css 在 IE7/IE6 中覆盖 colgroup 背景

    我有一个表 其中的列具有由 colgroup 设置的不同背景 然而 在 IE6 7 中 它完全忽略 colgroup 背景并采用单元格的 Reset css 背景值 即背景 透明 如何解决此问题 而无需转到每个单元格并手动输入背景值 HTM
  • 安装期间初始化 user.config 或 app.exe.config

    我正在开发一个 NET WinForms 应用程序 它依赖于 user config 来存储各种有用的设置 例如 Intranet Web 服务 URL 我们希望能够在安装过程中导入自定义初始设置 其用例是 如果一家公司想要在 100 台计
  • Spring Boot - 微服务之间如何通信?

    我目前正在开发一个 Spring Boot 微服务项目 我创建了服务 每个服务都单独运行 这样 我需要一些服务来与其他服务进行通信 我怎样才能做到这一点 我看到一些关于此的博客使用 Netflix Eureka 云服务器来实现这一点 有什么
  • mysql中auto_increment(整数)的限制是多少

    我有一个mysql数据库 我在其中使用auto increment integer 你能告诉我它可以增加多少整数吗 我们如何提高auto increment的限制 的极限auto increment column 是列的大小 https d
  • PHP / OpenCart 2.2.0 - 创建自定义主题

    我今天开始在 OpenCart 2 2 中进行主题开发 我正在关注这篇文章 http code tutsplus com tutorials create a custom theme with opencart introduction
  • 类型错误:“itertools.combinations”对象不可下标

    当我尝试运行时 temp twoset2 x i 0 twoset x i 1 I get 类型错误 itertools combinations 对象不可下标 My code for x in range 0 64 for i in ra
  • 如何在动态更新时检测输入的值变化(Angular 6)

    我正在使用自定义指令和自定义管道对文本输入进行货币格式化 它适用于任何类型的直接用户输入 焦点 模糊 按键 但是 当值动态更改时 我似乎无法捕获更改事件 我也找不到可靠的主机侦听器事件列表 并且不知道如何捕获进入输入的任何事件 因此无法看到
  • 如何在 API 模式下使用 Doorkeeper 处理 OAuth 流程?

    场景很简单 A 仅限 Rails API带有 Doorkeeper 提供商的服务器 A 移动应用 and a SPA 假设是 React 想要使用电子邮件和密码注册和登录的用户 当你有一个正常的Rails 堆栈 你需要定义一个authori
  • RecyclerView 和 Picasso 图像滚动后消失

    我没有找到答案here https stackoverflow com questions 29564824 recyclerview disappearing images here https stackoverflow com que
  • GWT 和 Google 文档 API

    我正在使用 GWT 创建一个简单的应用程序 让教师可以轻松创建自己的课程 该应用程序将位于 Google App Engine 上 但我想将课程存储在用户的 Google 文档空间中 是否可以 据我所知 gwt 将 java 转换为 jav