2

JavaScript レイヤーを経由せずに ActionScript 3 を使用して Google AppEngine Cloud Enpoints にアクセスする方法を知っている人はいますか? ドキュメントや Google でチュートリアルや例を探してきましたが、役に立つものは何も見つかりませんでした。

4

1 に答える 1

2

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メソッドのデコレータにはnameofがあります。これは、メソッドがリソースによって所有されていることを意味します。board.getmove@endpoints.apigetmoveboard

resources.board.methodsDiscovery 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必要があり、そのフィールドは文字列である必要があることがわかります。

于 2013-03-29T00:56:16.973 に答える