0

Google ドライブの認証を実装しようとしています:

https://google-developers.appspot.com/drive/auth/web-server

第 1 に、認証のためにユーザーがいつ Google ログイン ページにリダイレクトされるかが明確ではありません。彼らはその部分を示しているようには見えません。

2 つ目は、コールバック コードが表示されないことです。私はそれを理解することができ、新しいサーブレットまたはサービスまたは EntryPoint を追加する必要があると思いますが、GWT では難しいかもしれません。

第 3 に、最も重要なことですが、クラスが存在し、正常にコンパイルされているにもかかわらず、ClassNotFoundException が発生し続けます。

Caused by: java.lang.NoClassDefFoundError: com/google/api/client/http/HttpRequestInitializer
    at com.onix.sdm.server.SDMServiceImpl.loginServer(SDMServiceImpl.java:37)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:115)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
    ... 40 more
Caused by: java.lang.ClassNotFoundException: com.google.api.client.http.HttpRequestInitializer
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:215)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 47 more

この行で死んでいます:

37      DriveAuthentication da = new DriveAuthentication(); // Same as MyClass

では、Google Oauth2 を GWT に追加するにはどうすればよいでしょうか?

4

1 に答える 1

2

GWT はクライアント テクノロジですが、投稿したリンクはサーバー認証用です。したがって、最初のステップは、使用する方法を決定することです。

サーバー認証が必要な場合、投稿したリンクは正しく、GWT はそれについて何も知りません。GWT アプリは RPC/REST などを使用してサーバーを呼び出し、サーバーはドライブ アクセスを行います。

一方、クライアント認証を行う場合は、投稿する必要がある URL を説明するこのリンクhttps://developers.google.com/accounts/docs/OAuth2UserAgentが必要になります。私が推奨するのは、ライブラリから離れて、生の URL を自分で理解して送信することです。

于 2013-10-02T19:00:40.437 に答える