有人知道使用 ActionScript 3 访问 Google AppEngine Cloud Enpoints 而无需通过 JavaScript 层的方法吗?我一直在文档和 Google 上寻找任何教程或示例,但没有找到任何有用的东西。
最佳答案
我们没有 AS3 客户端库,据我所知,目前还没有计划,因此您必须依赖 HTTP 来进行 REST 调用。
TLDR;使用 API 资源管理器
如果您访问
https://your-app-id.appspot.com/_ah/api/explorer
(将 your-app-id
替换为您的实际应用 ID),然后您将被重定向到您自己的自定义版本的 Google API Explorer。
在其中您可以单击各个 API 并查看所有可用方法的列表。在每种方法的页面中,您可以尝试形成请求,资源管理器将建议使用正确的值。
单击“执行”后,完整的 HTTP 请求( header 和全部)和响应将打印在您的页面上,其中将显示要使用的命令。
如何使用发现文档的说明
API 的发现文档将包含构建请求所需的所有信息。
要查找调用 API 的根,请查看 baseUrl
键。它应该是这样的:
https://your-app-id.appspot.com/_ah/api/tictactoe/v1/
为了弄清楚如何调用特定方法,每个方法都有描述,并作为资源嵌套在发现文档中。例如,对于 Tic Tac Toe Python sample ,board_get_move
方法在 @endpoints.api
装饰器中的名称
为 board.getmove
。这意味着 getmove
方法由资源 board
拥有。
如果您查看 Discovery 文档中的 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"
查看 Discovery 文档中的 schemas.TictactoeApiMessagesBoardMessage
键,我们看到:
"TictactoeApiMessagesBoardMessage": {
"id": "TictactoeApiMessagesBoardMessage",
"type": "object",
"description": "ProtoRPC message definition to represent a board.",
"properties": {
"state": {
"type": "string"
}
}
}
因此我们知道有效负载必须包含一个名为 state
的字段,并且该字段必须是字符串。
关于actionscript-3 - 使用 ActionScript 3 访问 Google AppEngine Cloud Endpoints?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15694156/