Skip to content

yaegashi/o365events

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

o365events

概要

Microsoft Graph API を使って指定した Office 365 アカウントのカレンダーにアクセスし、 イベントと出席者のデータを Excel ないし JSON 形式で出力する CLI ツールです。 SharePoint Online のドキュメントライブラリにアップロードすることもできます。

Linux/Windows/macOS 用の実行ファイルが Releases よりダウンロードできます。

使用法

$ o365events -h
Usage of o365events:
  -client-id string
        Client ID (default "b7dbe94f-2f3a-4b98-a372-a99d0edff196")
  -end string
        End date (YYYYMMDD)
  -exclude
        Exclude calendar owner from attendees
  -output string
        Output path (default "events.xlsx")
  -start string
        Start date(YYYYMMDD) (default "20200404")
  -tenant-id string
        Tenant ID (default "common")
  -token-cache-path string
        Token cache path (default "token_cache.json")

認証

o365events を初めて実行すると次のように URL (https://microsoft.com/devicelogin) とコード (HDZSYAKLD) を表示します。

$ o365events 
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code HDZSYAKLD to authenticate.

指示のとおりに Web ブラウザで URL を開き、コードを入力してください。 その後サインインを要求されますので、カレンダーにアクセス権限のあるアカウントでサインインしてください。

サインインに成功するとカレントディレクトリに token_cache.json ファイルを作成します。 2 回目以降の実行ではこのファイルを読み取ってユーザー認証しますのでサインインを求められることはありません。 このファイルは他人がアクセスできない安全な場所に保存してください。

me

o365events を引数なしで実行すると、 サインインしたユーザー (me) の現在の月のイベントを events.xlsx ファイルに出力します。

$ o365events
2020/04/04 14:33:09 I: User me
2020/04/04 14:33:09 I: Fetching events of admin@l0wdev.onmicrosoft.com (d2a07c12-3806-4f0b-9f86-c39d88de1c83)
2020/04/04 14:33:10 I: Got 1 events
2020/04/04 14:33:10 I: Writing to events.xlsx

JSON 出力

-output で拡張子が .json のファイル名を指定すると JSON で出力します。 - を指定すると標準出力に JSON で出力します。

$ o365events -output events.json

期間指定

-start-end で出力するイベントの期間を日単位で指定できます。

$ o365events -start 20190401 -end 20200331

会議室

会議室のイベントを出力するには、次のように会議室アカウントのメールアドレスを引数に並べます。 会議室アカウントを出席者リストから除外するために -exclude を指定することを推奨します。

$ o365events -start 20200401 -end 20200430 -exclude room-a@l0wdev.onmicrosoft.com room-b@l0wdev.onmicros
oft.com room-c@l0wdev.onmicrosoft.com
2020/04/04 14:34:30 I: User room-a@l0wdev.onmicrosoft.com
2020/04/04 14:34:30 I: Fetching events of room-a@l0wdev.onmicrosoft.com (5fc084ba-b8fb-479f-bbdc-456ea8b7880b)
2020/04/04 14:34:31 I: Got 28 events
2020/04/04 14:34:31 I: User room-b@l0wdev.onmicrosoft.com
2020/04/04 14:34:31 I: Fetching events of room-b@l0wdev.onmicrosoft.com (9349a25d-9f8b-47fd-85d2-22b2a512409d)
2020/04/04 14:34:32 I: Got 3 events
2020/04/04 14:34:32 I: User room-c@l0wdev.onmicrosoft.com
2020/04/04 14:34:33 I: Fetching events of room-c@l0wdev.onmicrosoft.com (85b5f7d3-47f3-4c95-978f-1d846cbaae7d)
2020/04/04 14:34:33 I: Got 5 events
2020/04/04 14:34:33 I: Writing to events.xlsx

About

Office 365 calendar event exporter

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages