私は何時間もドキュメントを調べてきましたが、それを理解することはできません. 自分のカレンダーへのアクセスのみが必要です。では、どのような手順を踏む必要がありますか? 認証はどのように機能しますか?
ありがとう、ジョー
私は何時間もドキュメントを調べてきましたが、それを理解することはできません. 自分のカレンダーへのアクセスのみが必要です。では、どのような手順を踏む必要がありますか? 認証はどのように機能しますか?
ありがとう、ジョー
このコードを使用してカレンダー リストにアクセスしました。つまり、これは作成したカレンダーの詳細を返します。お役に立てば幸いです。OAuth 2.0 ドラフト 12 と Google Calendar API v3 を使用しています
@RequestMapping(value="/authenticate.do" , method={ RequestMethod.GET , RequestMethod.POST })
public void authenticate(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
List <String> scopes = new LinkedList<String>();
scopes.add(scope);
AuthorizationCodeRequestUrl authorize = new GoogleAuthorizationCodeRequestUrl(client_id, redirect_uri, scopes);
authorize.setRedirectUri(redirect_uri);
String authorize_url = authorize.build();
log.info(authorize_url);
response.sendRedirect(authorize_url);
}
上記の関数は OAuth 認証を処理し、ユーザーを許可または拒否する画面に誘導します。許可すると、この関数にリダイレクトされます。
@RequestMapping(value="/importCalendar.do", method={ RequestMethod.GET , RequestMethod.POST })
public void importCalendarList(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
PrintWriter p = response.getWriter();
String code = request.getParameter("code");
HttpTransport transport = new NetHttpTransport();
JsonFactory jsonFactory = new JacksonFactory();
GoogleTokenResponse res = new GoogleAuthorizationCodeTokenRequest(transport, jsonFactory, client_id, client_secret, code, redirect_uri).execute();
String accessToken = res.getAccessToken();
Calendar.Builder builder = new Calendar.Builder(transport, jsonFactory, null);
builder.setCalendarRequestInitializer(new CalendarRequestInitializer(accessToken));
Calendar calendarService = builder.build();
Calendar.CalendarList.List list = calendarService.calendarList().list();
list.setOauthToken(accessToken);
List <CalendarListEntry>list1=list.execute().getItems();
String id = list1.get(0).getId();
p.write(id);
for(CalendarListEntry temp:list1) {
p.println(temp.getSummary());
temp.getId();
}
}
この関数 importCalendarList は、ユーザーが持っているすべてのカレンダーの名前を一覧表示します。タイプ CalendarListEntry のリストは、カレンダーのオブジェクト表現です。したがって、getter から、たとえば、カレンダーの 1 つの uniqueid またはカレンダーのタイム ゾーンを取得できます。
カレンダーAPIを知るためにこのプログラムを書きました。書き始める前に、Google API コンソールにアクセスして、これらの設定を行いました。
クライアント ID、リダイレクト URI、スコープ、およびクライアント シークレット。これらを設定してプログラムで使用します。これは単にカレンダー リストを表示するだけですが、カレンダーのイベントを取得、追加、更新、削除したり、カレンダー自体でこれらすべての操作を実行したりすることもできます。Google Calendar API の包括的なドキュメントは次の場所にあります。
https://google-api-client-libraries.appspot.com/documentation/calendar/v3/java/latest/index.html
そして最後に 1 つ。私はこれをWebアプリケーションから行いました。お役に立てれば。