2

Eclipse に Google AppEngine (Java) プロジェクトがあります。Eclipse でローカル コードをデバッグしたいのですが、デプロイされたデータベースを AppEngine で使用します。今まではユーザー名/パスワードでリモート API を使用していました (古い方法)

このメソッドは非推奨になり、OAuth を使用したいのですが、使用しようとすると例外がスローされます。

java.lang.IllegalStateException: OAuth-based authorization not supported for clients running on App Engine
at com.google.appengine.tools.remoteapi.RemoteApiOptions.getOrCreateHttpTransportForOAuth(RemoteApiOptions.java:359)
at com.google.appengine.tools.remoteapi.RemoteApiOptions.useApplicationDefaultCredential(RemoteApiOptions.java:162)

Eclipse でリモート API を使用する単純な Java クライアント アプリを実行すると、すべてがうまくいきます。ただし、クライアントが Eclipse の AppEngine 開発環境の場合は機能しません。

appengine データベースを使用して Eclipse でサーバー コードをデバッグするにはどうすればよいですか?

バグレポート: https://code.google.com/p/googleappengine/issues/detail?id=12556

4

3 に答える 3

0

によって返される値はではなく、オブジェクトであるため、これは予期されたものです。開発サーバーの場合、今のところ古いスタイル (ユーザー名/パスワード) を使用する必要があります。ApiProxy.getCurrentEnvironment()nullcom.google.appengine.tools.development.LocalHttpRequestEnvironment

于 2015-11-20T10:53:59.470 に答える
0

同僚の Adam と Nikita が以前言ったことに加えて、Google Cloud エンジニアリング チームは、ClientLogin のシャットダウンによって影響を受けるすべての合理的なユースケースに対して、締め切り前に解決策を提供することを決定していることを公式に確認できます。

おそらく、Remote API ソリューションは次のリリース 1.9.31/32 で利用可能になるでしょうが、これは単なる仮定であり、まだ ETA はありません。

別の方法として、Protobufs を使用して、サービス アカウントの資格情報を使用して Cloud Datastore にリモートでアクセスできます。これは、当面のニーズに合うかもしれません。

更新 2016/01/21:

チームは、ClientLogin のシャットダウン期限を 2016 年 4 月 12 日まで延長しました。

更新 2016/04/12:

前述のとおり、修正は適切に適用され、SDK と gcloud の最新バージョンで利用できます。リモート API は、アプリ間 (または devserver-アプリ) 接続のために OAuth で再び使用できるようになりました。

于 2015-12-22T10:08:11.943 に答える
0

ドキュメントによると、この前に${SDK_ROOT}/lib/appengine-remote-api.jarからappengine-remote-api.jarをWEB-INF/lib ディレクトリに追加する (または Maven の依存関係に追加する) 必要があります。動作します。

更新:確かに、Remote API を使用した App Engine からの OAuth はまだ実装されていないようです。ClientLogin が完全に非推奨になる前に、これは変更されると思いますが、今のところ、パブリック イシュー トラッカーで機能リクエストを開くことをお勧めします。

考えられる回避策の 1 つは、(ドキュメントの例に従って) Remote API に接続し、開発サーバーで実行されている App Engine アプリケーションのプロキシとして機能できる通常のコンソール アプリケーションを作成することです。

于 2015-11-20T04:01:13.920 に答える