17

Endpoints アプリケーションを構築しようとしていますが、Google App Engine は初めてです。

私が理解しているように、SDK にはある種の API Explorer が含まれており、API をテスト/検証できるようにする必要がありますhttp://localhost:8080/_ah/api/explorer。しかし、API Explorer が実際にどのようなもので、どのように機能し、どのように見えるかについてのドキュメントは見つかりません。

いずれにせよ、その URL にアクセスしようとすると、すぐにhttps://developers.google.com/apis-explorer/?base=http://localhost:8080/_ah/api#p/にリダイレクトされます。有用なことは何も言っておらず、何らかのエラーに違いないようです。

devappserver ログには次のように記載されています。

INFO     2013-07-17 17:27:54,574 server.py:593] default: "GET /_ah/api/explorer HTTP/1.1" 302 -
INFO     2013-07-17 17:27:56,099 server.py:593] default: "GET /_ah/api/static/proxy.html?jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en.7JUwNUXMAS8.O%2Fm%3D__features__%2Fam%3DEQ%2Frt%3Dj%2Fd%3D1%2Frs%3DAItRSTO0dpKS_pssf5r3z87E6FlFvDGdOg HTTP/1.1" 200 1933
INFO     2013-07-17 17:27:56,193 server.py:593] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 200 2342
INFO     2013-07-17 17:27:56,492 server.py:593] default: "GET /_ah/api/discovery/v1/apis HTTP/1.1" 200 576
INFO     2013-07-17 17:27:56,507 server.py:593] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 200 2342
INFO     2013-07-17 17:27:56,583 server.py:593] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 200 2342
INFO     2013-07-17 17:27:56,811 server.py:593] default: "GET /_ah/api/discovery/v1/apis HTTP/1.1" 200 576
INFO     2013-07-17 17:27:56,886 server.py:593] default: "GET /_ah/api/discovery/v1/apis/scrnxSync/v1/rest HTTP/1.1" 200 3365

どんな価値があるとしても。

ここに私の app.yaml があります:

application: scrnx-cloud-1
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /admin/.*
  script: admin.application
  login: admin
  secure: always

  # Endpoints handler
- url: /_ah/spi/.*
  script: sync_api.application

  # catchall - must come last    
- url: /.*
  script: default.application


admin_console:
  pages:
  - name: View Measurement
    url: /admin/measurement  


libraries:
- name: jinja2
  version: 2.6
- name: markupsafe
  version: 0.15

builtins:
- admin_redirect: off
- appstats: off
- deferred: off
- remote_api: on

これを設定するために私がしなければならないことは他にありますか?

4

11 に答える 11

4

API Explorer の URL は正しいですが、API Explorer が API を正しく一覧表示しないという問題がいくつかあります (明らかにすべてが解決されているわけではありません)。

https://developers.google.com/apis-explorer/は Google API の API Explorer であり、通常自分でホストするよりもはるかに多くの API のように見えることを比較すると、クリックすると、API のリストと各 API の詳細が表示されます。

通常は、API の名前とバージョンを URL に明示的に追加することで回避できます。API はscrnxSyncバージョンで呼び出されるため、v1このリンクには API 用に定義したメソッドが表示され、それらのメソッドを呼び出すことができます。

https://developers.google.com/apis-explorer/?base=http://localhost:8080/_ah/api#p/scrnxSync/v1/

于 2013-07-17T17:46:20.770 に答える
4

上記のすべてをクロムで試しましたが、何もうまくいきませんでしたが、Firefoxを使用して、URLバーの左側にあるロックをクリックしてセキュリティを無効にしました。それは私のためのトリックを作った、乾杯!! :D

于 2016-04-04T01:00:02.090 に答える
2

私もGAEエンドポイントは初めてで、同じ問題がありました。私の場合、app.yamlの URL ハンドラーの順序が原因で、このエラーが発生しました。私はこのようにそれを持っていました:

- url: /.*
  script: core_service.application

  # Endpoints handler
- url: /_ah/spi/.*
  script: api_service.application

正しい方法は、最初に最も具体的なルートを定義し、最後に最も一般的なルート (/.*) を定義することです。このような:

  # Endpoints handler
- url: /_ah/spi/.*
  script: api_service.application

- url: /.*
  script: core_service.application
于 2014-11-27T23:02:57.300 に答える
1

GWT DevMode から AppEngine を実行している場合は、ベース パラメーターのポートをコンソールに表示されるものと一致するように変更する必要があります。私にとっては 8888 です。

http://apis-explorer.appspot.com/apis-explorer/?base=http://localhost:8888/_ah/api#p/

于 2014-06-07T12:50:54.250 に答える
0

私は同じ問題を抱えていましたが、localhost で間違ったポートを指定していたことが判明しました。開発サーバーが起動すると、ログは localhost の 3 つの個別のポートを指定します。

INFO 2015-07-26 03:46:56,023 api_server.py:172] API サーバーを開始しています: http:// localhost:35714

INFO 2015-07-26 03:46:56,027 dispatcher.py:186] で実行されているモジュール「デフォルト」を開始しています: http:// localhost:8080

INFO 2015-07-26 03:46:56,028 admin_server.py:118] http://localhost:8000 で管理サーバーを起動しています

問題は、API サーバーのポートを使用しようとしていたが、デフォルト モジュールのポートを使用する必要があることでした。

これは動作します: http:// localhost:8080/_ah/api/explorer (URL が暗号化されていないため、クロムの盾をクリックして安全でないスクリプトを許可する必要がありました)

于 2015-07-26T03:58:50.393 に答える