0

なじみのない領域をまた踏み込んでいます。

このクライアントライブラリhttps://code.google.com/p/gwt-oauth2/を使用して、GoogleカレンダーAPIへのアクセスに使用できるアクセストークンを取得しました。

調査を行った後、別のクライアントライブラリhttp://code.google.com/p/gwt-google-apis/source/browse/trunk/apis/samples/calendar/com/google/api/gwt/samples/に気づきました。 GoogleカレンダーAPI呼び出しを行うために使用できるcalendar/client/CalendarEntryPoint.java 。

今、私が理解していないのは、2つを組み合わせる方法です。これでアクセストークンができましたが、2番目のクライアントライブラリのサンプルコードでは、そのアクセストークンはどこにも使用されていません(Google APIコンソールのclient_idとapi_keyのみが使用されています)。

これらの2つのライブラリは相互に排他的ですか、それとも一緒に機能することを目的としていますか?

編集:

私が達成したいのは、最初のライブラリを使用してアプリケーションのGoogleカレンダーへのアクセスを承認し、2番目のライブラリを使用してAPI呼び出しを行うことです。問題は、2番目のライブラリでAPI呼び出しを行ったときに、アプリケーションがすでにGoogleカレンダーの使用を許可されていることを認識しないことです。問題は、サンプルコードの次の行にあると思います。

calendar.initialize(new SimpleEventBus(),
    new GoogleApiRequestTransport(APPLICATION_NAME, API_KEY));

この呼び出しが行われると、2番目のアプリケーションが登録されます(これは、Googleアカウントのサードパーティ製アプリから確認できます)。最初のアプリケーションはすでにGoogleカレンダーの使用を許可されていますが、新しく登録されたアプリケーションは再度許可される必要があります。

そこで、既存のアプリケーションを使用できるGoogleApiRequestTransportがあるかどうかを確認し、これを見つけることができました:http: //gwt-google-apis.googlecode.com/svn-history/r1914/trunk/apis/javadoc /latest/javadoc/com/google/api/gwt/shared/GoogleApiRequestTransport.html

このGoogleApiRequestTransportを使用すると、アクセストークンを設定できます(これは、最初に必要だったものです)。ただし、これは非推奨です。だからどうしたらいいのかわからない。

4

2 に答える 2

1

私のJavaの知識は存在しないと言って、この前置きをします。あなたが指摘する2番目のライブラリは、実際にはOauth2認証も行います。このコードブロック(75行目から):

private void login() {
  OAuth2Login.get().authorize(CLIENT_ID, CalendarAuthScope.CALENDAR,
      new Callback<Void, Exception>() {
        @Override
        public void onSuccess(Void v) {
          getCalendarId();
        }
        @Override
        public void onFailure(Exception e) {
          GWT.log("Auth failed:", e);
        }
      });
}

の呼び出しを見ることができますOAuth2Login.get().authorize()。これは、最初のライブラリで見たものと同様のアクセストークンを生成するプロセスです(ここでも、Javaに精通しているため、ここでのユーティリティが制限されています)。簡単に言えば、同じOauth2プロセスがまだ実装されているように見えるので、元の質問に答えるために、これら2つのライブラリは基本的に同じことを達成する2つの方法です-最初はOauth2の相互作用を処理するだけですが、2番目は完全なAPI自体と対話するためのパッケージ。

于 2012-11-26T03:09:20.310 に答える
0

Google カレンダーを統合するための成功したアプローチを文書化しました。Google ライブラリを使用せずにカレンダーにアクセスするためのドキュメントは見つかりませんでした。だから私は自分自身を書いた:

http://www.tqis.com/eloquency/googlecalendar.htm

于 2013-01-05T19:25:03.017 に答える