是否有人知道使用ActionScript 3访问Google AppEngine Cloud Enpoints的方法,而无需通过JavaScript层?我一直在使用文档和谷歌找到任何教程或示例,但没有找到任何有用的东西。
答案 0 :(得分:2)
我们没有AS3客户端库,目前没有我知道的计划,因此您必须依靠HTTP来进行REST调用。
如果您访问
https://your-app-id.appspot.com/_ah/api/explorer
(将your-app-id
替换为您的实际应用ID),然后您将被重定向到您自己的Google API Explorer自定义版本。
在其中,您可以单击各个API并查看所有可用方法的列表。在每个方法的页面中,您可以尝试形成请求,资源管理器将建议使用正确的值。
点击“执行”后,您的页面上将打印完整的HTTP请求(标题和全部)和响应,这将显示您要使用的命令。
API的发现文档将包含构建请求所需的所有信息。
要查找调用API的根目录,请查看baseUrl
密钥。它应该是这样的:
https://your-app-id.appspot.com/_ah/api/tictactoe/v1/
要弄清楚如何调用特定方法,每种方法都有描述,在发现文档中作为资源嵌套。例如,对于Tic Tac Toe Python sample,board_get_move
方法在name
装饰器中有board.getmove
@endpoints.api
。这意味着方法getmove
由资源board
拥有。
如果查看“发现文档”中的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
的字段,该字段必须是字符串。