JavaScript レイヤーを経由せずに ActionScript 3 を使用して Google AppEngine Cloud Enpoints にアクセスする方法を知っている人はいますか? ドキュメントや Google でチュートリアルや例を探してきましたが、役に立つものは何も見つかりませんでした。
1 に答える
AS3 クライアント ライブラリはありません。現在、私が知っている計画もありません。そのため、REST 呼び出しを行うには HTTP に依存する必要があります。
TLDR; API Explorer を使用する
訪問すれば
https://your-app-id.appspot.com/_ah/api/explorer
(実際のアプリケーション ID に置き換えyour-app-id
ます)、独自のカスタム バージョンの Google API Explorer にリダイレクトされます。
その中で、個々の API をクリックして、使用可能なすべてのメソッドのリストを表示できます。各メソッドのページ内で、フォーム リクエストを試すことができます。Explorer は、使用する正しい値を提案します。
[実行] をクリックすると、完全な HTTP 要求 (ヘッダーとすべて) と応答がページに出力され、使用するコマンドが示されます。
Discovery Document の使用方法の説明
API の Discovery Document には、リクエストを作成するために必要なすべての情報が含まれます。
API を呼び出すためのルートを見つけるには、baseUrl
キーを確認してください。次のようになります。
https://your-app-id.appspot.com/_ah/api/tictactoe/v1/
特定のメソッドを呼び出す方法を理解するために、Discovery Document 内のリソースとしてネストされたすべてのメソッドの説明があります。たとえば、Tic Tac Toe Python サンプルの場合、board_get_move
メソッドのデコレータにはname
ofがあります。これは、メソッドがリソースによって所有されていることを意味します。board.getmove
@endpoints.api
getmove
board
resources.board.methods
Discovery Documentのキーを調べると、次の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 Documentのschemas.TictactoeApiMessagesBoardMessage
キーを調べると、次のことがわかります。
"TictactoeApiMessagesBoardMessage": {
"id": "TictactoeApiMessagesBoardMessage",
"type": "object",
"description": "ProtoRPC message definition to represent a board.",
"properties": {
"state": {
"type": "string"
}
}
}
したがって、ペイロードには という単一のフィールドが含まれているstate
必要があり、そのフィールドは文字列である必要があることがわかります。