Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LINE WORKSAdvent Calendar 2023

Day 15

【LINE WORKS】APIでカレンダーに予定を追加する

Posted at

はじめに

LINE WORKSの「カレンダー」機能には、APIが用意されており、自動的に予定を追加したり、予定を取得したりと、カレンダーと連携したアプリケーションを作ることができます。

ここでは、そのカレンダーのAPIを使って予定を追加する方法をまとめます。

メンバーのカレンダーに予定を追加するAPI

カレンダーの予定追加を行うAPIは以下になります。

POST https://www.worksapis.com/v1.0/users/{userId}/calendar/events

{userId} に対象のメンバーのuser idを指定して、予定を追加します。

追加する予定情報はjson形式でリクエストボディに入れます。

以下、リクエストボディのサンプルです。

例. 2023/12/01 14:00〜15:00 に "社内会議" という予定を入れる。

{
    "eventComponents": [
        {
            "summary": "社内会議",
            "start": {
                "dateTime": "2023-12-01T14:00:00",
                "timeZone": "Asia/Tokyo"
            },
            "end": {
                "dateTime": "2023-12-01T15:00:00",
                "timeZone": "Asia/Tokyo"
            }
        }
    ]
}

その他詳しいパラメータはAPIのページを参照ください。

実行してみる

ここからは、予定追加のやり方についてまとめます。

ここでまとめるのはターミナル上で実行するサンプルになります。

  • テスト環境: MacBook Air (M1, 2020), macOS 12.7

1. アクセストークン取得

まずは、Service Account認証でアクセストークンを取得します。calendar scopeが必要になります。

こちらで公開したLINE WORKS CLIを使いました。

./lineworks auth service-account --scopes "calendar" --profile xxxx
export ACCESS_TOKEN=`./lineworks auth get-access-token --profile xxxx`

次に取得したアクセストークンを用いてAPIリクエストを送ります。

2. 予定追加のAPIを実行

cURLで予定追加のAPIリクエストをしてみます。

test.user@xxxxxx というメンバーのカレンダーに予定追加します。

curl -X POST https://www.worksapis.com/v1.0/users/test.user@xxxxxx/calendar/events \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
    "eventComponents": [
        {
            "summary": "社内会議",
            "start": {
                "dateTime": "2023-12-01T14:00:00",
                "timeZone": "Asia/Tokyo"
            },
            "end": {
                "dateTime": "2023-12-01T15:00:00",
                "timeZone": "Asia/Tokyo"
            }
        }
    ]
}'

これで、カレンダーに予定を登録することができます。

補足. LINE WORKSのカレンダーの種類

LINE WORKSのカレンダーにはいくつか種類がありますが、「基本カレンダー」と呼ばれる、各メンバーが持つデフォルトのカレンダーに予定を追加しました。

カレンダーの種類: https://guide.worksmobile.com/jp/calendar/calendar-guide/calendar/calendar-type/

まとめ

LINE WORKS APIはカレンダーにも対応しており、このように予定追加をプログラムから行うことができます。

比較的手頃に使えるため、ぜひご活用ください。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?