2

有没有人知道使用 ActionScript 3 访问 Google AppEngine Cloud Enpoints 而无需通过 JavaScript 层的方法?我一直在 docs 和 Google 上查找任何教程或示例,但没有发现任何有用的东西。

4

1 回答 1

2

我们没有 AS3 客户端库,目前据我所知没有任何计划,因此您必须依靠 HTTP 来进行 REST 调用。

TLDR;使用 API 资源管理器

如果您访问

https://your-app-id.appspot.com/_ah/api/explorer

(替换your-app-id为您的实际应用程序 ID),然后您将被重定向到您自己的自定义版本的 Google APIs Explorer。

在其中,您可以单击各个 API 并查看所有可用方法的列表。在每种方法的页面中,您可以尝试形成请求,资源管理器将建议使用正确的值。

单击“执行”后,完整的 HTTP 请求(标头和所有)和响应将打印在您的页面上,其中将显示要使用的命令。

说明如何使用发现文档

API 的发现文档将包含构建请求所需的所有信息。

要查找调用 API 的根目录,请查看baseUrl密钥。它应该是这样的:

https://your-app-id.appspot.com/_ah/api/tictactoe/v1/

为了弄清楚如何调用特定方法,每个方法都有描述,作为资源嵌套在 Discovery Document 中。例如,对于井字游戏Python 示例,该board_get_move方法在装饰器中有一个nameof 。这意味着该方法归资源所有。board.getmove@endpoints.apigetmoveboard

如果您查看resources.board.methods发现文档中的密钥,您可以看到该getmove方法:

"getmove": {
 "id": "tictactoe.board.getmove",
 "path": "board",
 "httpMethod": "POST",
 "description": "Exposes...",
 "request": {
  "$ref": "TictactoeApiMessagesBoardMessage"
 },
 "response": {
  "$ref": "TictactoeApiMessagesBoardMessage"
 }
}

结合我们知道的path请求baseUrl将需要发送到

https://your-app-id.appspot.com/_ah/api/tictactoe/v1/board

httpMethod我们知道请求将使用 HTTP 方法POST

最后,为了指定请求,我们看到了对模式的引用:

"$ref": "TictactoeApiMessagesBoardMessage"

查看发现文档中的schemas.TictactoeApiMessagesBoardMessage密钥,我们看到:

"TictactoeApiMessagesBoardMessage": {
 "id": "TictactoeApiMessagesBoardMessage",
 "type": "object",
 "description": "ProtoRPC message definition to represent a board.",
 "properties": {
  "state": {
   "type": "string"
  }
 }
}

所以我们知道有效负载必须包含一个名为的字段state,并且该字段必须是一个字符串。

于 2013-03-29T00:56:16.973 回答