2

私はGWTを使用してアプリケーションを作成していますが、インターネット上でgdata機能を簡単に使用できるライブラリがあることがわかりました。特に、Googleカレンダーとの統合を使用する必要があります。gwt-gdataサイトの公式ガイド(http://code.google.com/p/gwt-gdata/wiki/GettingStarted)に従って認証を行いましたが、残念ながらエラーが発生しました。これはエラーです:

  17:59:12.463 [ERROR] [testmappa] Unable to load module entry point class testMappa.client.TestMappa (see associated exception for details)
    com.google.gwt.core.client.JavaScriptException: 
(TypeError): $wnd.google.accounts is undefined
     fileName: http://127.0.0.1:8888
     lineNumber: 29
     stack: ("http://www.google.com/calendar/feeds/")@http://127.0.0.1:8888:29
    connect("http://127.0.0.1:8888/TestMappa.html?gwt.codesvr=127.0.0.1:9997","`gL1<a3s4B&Y{(Ci","127.0.0.1:9997","testmappa","2.0")@:0
    ((void 0),"testmappa","http://127.0.0.1:8888/testmappa/")@http://127.0.0.1:8888/testmappa/hosted.html?testmappa:264
    z()@http://127.0.0.1:8888/testmappa/testmappa.nocache.js:2
    (-2)@http://127.0.0.1:8888/testmappa/testmappa.nocache.js:8
        at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195)
        at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264)
        at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
        at com.google.gwt.accounts.client.User.login(User.java)
        at testMappa.client.TestMappa.onModuleLoad(TestMappa.java:68)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:369)
        at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:185)
        at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:380)
        at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222)
        at java.lang.Thread.run(Thread.java:637)

このエラーの原因がわかりません。私のコードは単純です:

    String scope = "http://www.google.com/calendar/feeds/";

    User.login(scope);

そして、私が知る限り、それはそのまま動作するはずです。私は何をすべきかわからないので、この問題を解決する方法と、gdataネイティブJavaライブラリを直接使用できるかどうかを尋ねるためにここにいますが、クライアント側のgwtコードではこの他のことはできないと思います(コードはjavascriptに変換されるため)。

ありがとうございました。

4

1 に答える 1

2

上に貼り付けた2行のコードは、実際には次のようにrunメソッド内に含まれているはずです-

if(GData.isLoaded(GDataSystemPackage.CALENDAR)){
   Window.alert( "パッケージがロードされました");
} そうしないと {
   GData.loadGDataApi( "MyApiKey"、
      new Runnable(){
        public void run(){
             文字列スコープ="http://www.google.com/calendar/feeds/";
             User.login(scope);
             //残りのコードはここに入ります。新しいメソッドを作成できます
             //ここから呼び出します。
        }
      }、
      GDataSystemPackage.CALENDAR);
}

GData apiコードをロードしないと、貼り付けたjavascriptエラーが発生する可能性があります。

于 2010-05-08T21:26:15.397 に答える