3

タイトルが示すように、私のAPIはエクスプローラーに表示されず、すべてのログに表示されるのは次のとおりです。

INFO     2013-03-08 13:39:08,182 dev_appserver.py:723] Internal redirection to http://127.0.0.1:8080/_ah/spi/BackendService.getApiConfigs
INFO     2013-03-08 13:39:08,198 dev_appserver.py:3104] "GET /_ah/api/discovery/v1/apis HTTP/1.1" 500 -

app.yamlファイルの関連するハンドラーは次のようになります。

13 # Endpoint handlers
14 - url: /_ah/spi/.*
15   script: main.app

そして、main.pyからの私のコードは次のとおりです。

from google.appengine.ext import endpoints
from protorpc import messages

class   Location(messages.Message):
    reg_id = messages.StringField(1)
    phone_number = messages.StringField(2)
    latitude = messages.StringField(3)
    longitude = messages.StringField(4)

@endpoints.api(name='locations', version='v1', description='Location API for where are you app')
class LocationApi(remote.Service):
    @endpoints.method(Location, Location, name='location.insert', path='location', http_method='POST')
    def insert(self, request):
        return request

app = endpoints.api_server([LocationApi])

誰かが私が間違っていることについての手がかりを得ましたか?

4

3 に答える 3

1

エンドポイントハンドラーを他のハンドラーの前にリストするようになりました。

これは機能します:

handlers:
# Endpoint handler
- url: /_ah/spi/.*
  script: endpoints.app

# Page handlers
- url: /.*
  script: home.app

これは機能しません:

handlers:
# Page handlers
- url: /.*
  script: home.app

# Endpoint handler
- url: /_ah/spi/.*
  script: endpoints.app
于 2013-03-17T19:46:14.847 に答える
1

以下を確認してください。

  1. ログからわかるはずですが、インポートエラーが発生しています。これmain.pyを追加します

    from protorpc import remote
    
  2. ドキュメントから:

    注: Google API Explorerを使用してAPIへの認証済み呼び出しをテストする場合は、クライアントIDも指定する必要があります。クライアントIDは、Endpointsライブラリからとして入手できますendpoints.API_EXPLORER_CLIENT_ID

  3. ログをもう一度チェックして、コードが実際に実行されていることを確認します。Pythonの例外が発生したために500が発生し、コードに他の問題がある可能性がありますが、投稿した内容からはそうではないようです。

于 2013-03-11T06:50:56.790 に答える
-1

問題は、Pythonファイルが次のインポートを見つけられないことです。

from protorpc import remote

したがって、ターミナルを使用し、GUIをスキップして、appengine sdkディレクトリに移動し、プロジェクトをそこに配置します。Macの場合は次のとおりです。

/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/
于 2015-02-26T23:46:41.233 に答える