Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

DataSpider RESTアダプタを使ってGoogleカレンダーの予定を取得する。

APIの有効化

Google CalendarのAPIを有効にする必要があります。
1. Google APIsのライブラリからCalendar APIを選択します。

image

2.「有効にする」をクリックします。

image

認証情報の作成

  1. 次に「認証情報」に進みます。

    image

  2. 「ウェブサーバ(node.js、Tomcatなど)」を選択します。

    image

  3. 「ユーザーデータ」もしくは「アプリケーションデータ」を用途に合わせて選択します。

    image

  4. 「必要な認証情報」の設定します。名前に任意の値を設定します。

    image

5.認証済みのリダイレクトURIに以下の値を設定し、クライアントIDの作成を行います。
http://<DataSpiderServer稼働OSのホスト名またはIPアドレス>:<ポート番号>/dataspider/oauth_2_0

(例)
image
image

6.「ユーザに表示するサービス名」を設定します。

image

7.Client IDが発行されますのでimageをします。

image

8.ダウンロードしたファイルから以下の値をDataSpider RESTアダプタ側に設定していきます。

client_id → クライアントID
client_secret → クライアントシークレット
redirect_uris → リダイレクトURI
auth_uri → 認可エンドポイント
token_uri → トークンエンドポイント

DataSpider RESTアダプタの設定

1.上記の通りそれぞれ設定します

imageから

2.スコープを設定します。
OAuth 2.0 Scopes for Google APIsからCalendar API, v3の”Scope”をアダプタの”スコープ”に設定

image

image

3.追加パラメータを設定します。

image
4.imageをクリックしてトークンを発行します。
アカウント認証して進んでいくと、リプレッシュトークンが自動設定されます。
image

image

image
以上でOAuth2.0の設定は完了です。
最後に接続確認としてカレンダーから予定を取得します。

接続確認

0.予定を取得するAPIのパラメータを確認します。
Google Calendar API:Events: list

HTTP request
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events

1.接続先
グローバルリソースのURLにGoogleのURLを設定します。

https://www.googleapis.com/calendar/v3/calendars/

2.パス
パスにはCalendarID/eventsを設定します。
CalendarIDはカレンダーを所有しているアカウントのメールアドレスでも大丈夫です。

以上で設定は完了ですので、実行してみます。
今回はファイルに出力してみたのですが、結果として以下のようなデータを取得することができました。

image

もちろん出力形式をJSON形式に変更することで後続の処理にも簡単に渡すことができます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
6
Help us understand the problem. What are the problem?