毎月の交通費精算データを自動取得!「Googleカレンダー」から訪問先ごとの交通費精算データを取得し「Excelファイル」に出力してみた

こんにちは、アステリアの木下です。

以前はプリセールスと営業の二足の草鞋でお仕事をさせていただいておりましたが、最近は営業活動に専念していたため、ASTERIA Warpをじっくり触る機会もなくなっていました・・・
それがコロナウイルスの影響で在宅勤務となり、すこーーーし時間に余裕が出来るようになりましたので、久しぶりにASTERIA Warpに触れてみようと思います!

アステリアの木下について
覚えていただいている方は、お久しぶりでございます!
過去にブログをいくつか書いておりますので、よろしければご覧ください!

「Googleカレンダー(Google Workspace)」「Excel」をつないでみた

アイコンの総数ってご存知でしょうか??

ところで、ご存知の通りASTERIA Warpはアイコンを組み合わせて処理を開発いただきますが、アイコンの総数ってご存知でしょうか??
私自身もざっくりとした数字しか把握しておらず、ふと疑問に思いアイコンの数をコツコツと数えてみました。

その結果、なんと弊社からリリースしているアイコン(コンポーネント+マッパー関数)で、409個!

※2020年6月時点。

いやー、多すぎて全機能覚えきれないですね(笑)
その分、痒い所に手が届く機能が揃っていますが、実際に全アイコンを試していただいたという方は稀というか0人ではないでしょうか??

不便を感じていた「交通費精算」の申請作業

ということで、今まで使用したことのないアイコンを調べながら試して、実際に動くところまでご紹介してければと考えております!
ただ、目的もなくご紹介しても面白くないかと思いますので、勝手ながら私自身が日々の業務であったら便利だなーと思う業務自動化の処理を開発していきます!

そして、今回の目的は「Googleカレンダー」からデータを取得してみます!
理由は、交通費精算の申請作業に不便を感じているからです・・・

交通費精算申請を行うためにスケジュールから訪問先を調べて、経費精算システムに入力の繰り返し。せめて、カレンダーに登録してある1ヶ月間の訪問先が1つのファイルにデータにまとまっていれば作業としては楽なのに・・・

そこで、その夢を実現するべくASTERIA Warpで処理を作ってみたいと思います!

概要図

前提として、訪問先を取得するスケジューラーは「Googleカレンダー」、まとめるデータは「Excelファイル」で進めます。

ASTERIA warp

そして、今回はGoogleカレンダーからデータ取得するための専用アイコン(Googleカレンダーアダプター)が提供されていますので、そちらを使用したいと思います!

それでは、まずは弊社の技術情報サイトでGoogleカレンダー用アイコンの使い方について情報を調べてみます。

ようこそadnへ

“googleカレンダー”と検索してみると、

googleカレンダーの検索結果

ちゃんと用意されていますね!

処理完成までの4ステップ

記事を参考に処理完成までのステップは以下の4つです。

  1. ASTERIA Warpの開発環境を準備
  2. 「Google Developer Console」で、Googleカレンダーへ接続するためにOAuth認証情報を取得
  3. Googleカレンダーへの接続コネクションを設定
  4. Googleカレンダーアダプターを使用して処理開発

それでは、ステップ順にそれぞれを試していきましょう!

1. ASTERIA Warpの開発環境を準備

それでは、まず処理を開発するための環境準備をしていきたいと思います。

ただ、このブログ記事を読んでちょっと試してみようかなと思っていただいても・・・

  1. 評価版を申し込む
  2. 環境構築用のサーバー or ノートPCを用意する
  3. 製品インストールする
  4. 初期設定する
  5. 説明書通りに設定しているはずが何故か上手くいかない
  6. 原因を突き止める
  7. やっと環境準備が出来た
  8. 開発できる

といったように、それにだけ集中できる工数があれば別ですが、通常業務を行いながら時間が空いた隙にやっていると評価期間がもう終了目前・・・というご経験ないでしょうか?

そんな時には「手ぶら de ASTERIA Warp」を利用ください!

利用期間は5日間だけなんですが、製品インストール済みのクラウドサーバーをお貸し出しする評価版ですので、ちょっと試す分には本当に便利です!

今回は、この「手ぶら de ASTERIA Warp」を環境として利用したいと思いますので、どのくらい手軽か実際に申し込み手順をご紹介しながら環境を用意してみます!

では、まずはこちらのURLから無料体験版のお申し込みをしていきます。
今すぐ申し込む」ボタンをクリック。

手ぶら de ASTERIA Warp 体験 5日間「今すぐ申し込む」

すると、情報入力項目が表示されるので入力。

体験版情報登録フォーム

そこで、重要なのが「ご希望の体験版をお選びください」項目です!

実は、利用目的によって体験版の種類が選べます。専用のスタートガイドが付いていたり、サンプルデータが用意されていたりと非常に便利です!

ご利用用途にあった体験版をお選びください

※「手ぶら de ASTERIA Warp」詳細は下記URLでご紹介しています。

 

今回は、Googleカレンダーとの連携なので「手ぶら de ASTERIA Warp -Google Workspaceとつなごう」を選択します。

ご希望の体験版をお選びください

あとは、必須項目を入力して、「送信」ボタンをクリックしたら
これで、申し込みの作業は完了です!

無料体験版をお申し込みいただきありがとうございました。

すると、申し込み時に入力したメールアドレス宛にこんな通知が届きます。

手ぶら de ASTERIA Warpのお申込みを受け付けました

そして、環境準備が完了すると、またメールで通知が届きます!

環境の準備が整いましたのでお知らせ致します。

あとは、メール記載の「■ご利用方法」に従ってリモートデスクトップ接続するだけです!

リモートデスクトップ接続

Google Workspace連携用のチュートリアルガイドが用意されているので、この後はこちらを参考に設定を進めていきます!

誰でも! ASTERIA Warp Google Workspaceとつなげよう

以上で開発環境の準備は完了です!

このように「手ぶら de ASTERIA Warp」は、端末手配やインストール作業、初期設定などの煩わしさから解放されますので、是非ご利用してみてください!

※1ヶ月間の評価版をご利用される場合は、インストール方法が記載されていますので、ご参照ください。

また、特にご注意いただきたい点として、「Googleカレンダー」用のアイコンは別途インストールが必要なため【アダプターを適用する】項目を参考にしてください。

2.「Google Developer Console」で、Googleカレンダーへ接続するためにOAuth認証情報を取得

まずは、設定するために意味がわかない言葉が続々と登場しますので、本当にざっくりと簡略化して概要をつかめるよう調べてまとめてみました。

Google Developer Console

Googleから提供されているサービス(Googleカレンダー、Googleマップ、Googleドライブなど)は、それらのリソースへアクセスするためにWEB API(以下:Google API)が公開されています。
そして、Google Developer Consoleとは、Google APIを使用するための設定画面です。

API

APIとは「Application Programming Interface」の略です。
ある特定のプログラムを外部から活用しやすくするための手続きや決まりとなる仕組みです。

例えば、Googleカレンダーへ登録している予定データを取得、更新、削除したい場合、普段はGoogleカレンダーの"画面"をWEBブラウザやアプリから開いて、手作業で対応されていますよね?
Google APIの一種である「Google Calendar API」を利用する事により、作成したプログラム(今回はASTERIA Warp)でデータを操作することが出来るようになります。

要するに、今までわざわざ手作業で設定していたような作業を自動化できます。

※ただし、操作したいデータにAPIが用意されていない場合などもありますので、全てが実現できる訳ではないのであしからず。

OAuth

OAuth(読み方:オーオース)とは、権限の認可を行うための仕組みです。APIを利用することで誰でもデータにアクセスできると困りますよね?なので、アクセスできる人を制限したい場合、このOAuthの仕組みで実現できます。仕組みとしては、事前に許可証のようなもの(アクセストークン)を発行してもらい、その許可証を持っている人だけがアクセスできるという感じです。

何となくは理解できたので、「Google Developer Console」よりOAuth認証情報を取得するための設定をします。

※チュートリアルガイドはこんな感じです!

コネクションの作成

さくっとOAuth認証情報を取得できました!
「クライアントID」と「クライアントシークレット」はコネクション作成時に使用するとのことなので、控えておきます。

OAuthクライアントを作成しました

3. Googleカレンダーへの接続コネクションを設定

次は、フローデザイナーでGoogleカレンダーへの接続コネクションを設定します。

まずはコネクションの作成ですが、コネクション名はデフォルト値の「GoogleCalendar1」で作成しました。

接続名「GoogleCalendar1」

あと必要な設定は「イニシエートOAuth」、「OAuthクライアントID」、「OAuthクライアントシークレット」です。

フローデザイナーで「イニシエートOAuth」、「OAuthクライアントID」、「OAuthクライアントシークレット」をそれぞれ入力

  • イニシエートOAuth:GETANDREFRESH
  • OAuthクライアントID:下図でメモした値
  • OAuthクライアントシークレット:下図でメモした値

OAuthクライアントを作成しました

そして、「保存」ボタンをクリック後、「接続テスト」ボタンをクリックするとブラウザが勝手に立ち上がるので、設定を進めると・・・

保存ボタンをクリック

接続テストが成功しました!

Google Authorization Successful!

フローデザイナー側も成功しています!

テスト結果

4. Googleカレンダーアダプターを使用して処理開発

では、処理を開発するための準備が整いましたので、実際に開発していきます!

まずは、今回の処理内容と前提条件をまとめておきます。

処理内容

前月のカレンダーの情報を取得し、Excelに書き込んで出力

前提条件
  • 出力項目は、「タイトル」、「場所」、「開始日時」
  • 「場所」が未設定の予定は取得しない
  • 「開始日時」の対象期間は、処理実行時の前月1日~末日の1ヶ月間
  • 日付を跨いだ予定は存在しない

上記に元に処理を作ってみるとこんな感じです!

処理フロー

②カレンダーの対象期間を設定」の中身はこのように設定しています。

対象月の”月初”を算出

何故このような設定をしているのか少し解説しておきます!

今回の処理は「処理実行日の前月のカレンダー情報を取得」のため、処理を実行させるには日程の範囲を指定する必要があります。

ただ、処理を実行する際に” 開始日”と” 終了日”を手作業で毎回設定するのは面倒ですよね??

そのため、処理を実行した前月の” 開始日(月初)”と” 終了日(月末)”を自動で取得するようアイコンを組み合わせて設定しています!

実際の設定は下記ようになっています。

対象月の”月初”を算出

月初処理算出図

  1. 先月の”月初(年、月、日)”を取得するために、まずは現在日時(処理実行日)を取得します。
  2. 日付を加算、減算するアイコンを使用して、先月(1ヶ月前)の「月」を取得するために「現在-1ヶ月前」と設定してます。
  3. 「年、月」の値だけ必要なのでばらけさせます。
  4. 日付を生成するアイコンを使用して、「日」は”1日”固定で「年、月」を組み合わせて「年(現在)、月(現在-1ヶ月前=先月)、日(”1日”固定)」というデータを生成しました。

そして、出力するExcelファイルのフォーマットは、このように設定しています。

  • 項目名:“タイトル”、”場所”、”開始日時”

Excel Sheet「タイトル」「場所」「開始日時」

処理完成!!

動作確認

それでは、処理を実行して想定通りにカレンダーの情報が書き込まれて出力されるか試してみましょう!

ファイルの中身を確認

Excelにデータ内容を反映

想定通りに処理が動きました!
これで毎月の交通費精算申請が少しは楽になります!

最後に

このように簡単にGoogleカレンダーとも連携が可能ですので、アイデア次第で業務効率でご利用いただけるかと思いますので、よければお試しください!

動画視聴はこちら

「手ぶら de ASTERIA Warp 体験版」を動画でもご紹介しています。

関連記事

 



クラウド版

手ぶら de ASTERIA Warp
体験 5日間を申し込んで
Google Workspaceとの連携を試そう

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル
著者:木下 敬太

著者:
木下 敬太

西日本地域を活動拠点としている、ASTERIA Warpシリーズのプリセールスエンジニア 兼 営業担当。

「ASTERIA Warp、データ分析、クラウド、業務効率化、最新技術」人気!ホワイトペーパーダウンロード受付中!今すぐチェック
ASTERIA Warpと色々つないでみた特集!記事はこちら>

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X ASTERIA Warpユーザーグループ(AUG)

ASTERIA Warpデベロッパーの方

ASTERIA Warp オンラインコミュニティ
ADN slack

ASTERIA Warpデベロッパー同士をつなげ、技術情報の共有やちょっとしたASTERIA Warpの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。

ページ先頭へ