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?

API Lab for LINE WORKSAdvent Calendar 2024

Day 17

LINE WORKS API メールフォルダリストの取得

Last updated at Posted at 2024-12-16

LINE WORKS メールフォルダリストを取得する方法

LINE WORKS のメールフォルダリストを API を使用して取得する方法を紹介します。このガイドでは、Google Colab 上で動作する Python スクリプトを提供し、簡単に試せる方法を説明します。

概要

LINE WORKS のメールフォルダリスト API を使用することで、以下の情報を取得できます:

  • システムフォルダ(受信トレイ、送信済みフォルダなど)の情報
  • ユーザーが作成したカスタムフォルダの情報
  • 各フォルダの未読メール数、総メール数、使用容量

Google Colab を活用することで、環境構築なしで API の動作を確認できます。

必要な準備

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

LINE WORKS メールフォルダリスト API を利用するには、以下のいずれかのスコープを含むアクセストークンが必要です:

  • mail
  • mail.read

アクセストークンの発行方法については、以下の記事を参考にしてください:

2. Google Colab を開く

Google Colab を利用してスクリプトを実行できます。以下のリンクから直接ノートブックを開いて試すことができます:

Google Colab: LINE WORKS メールフォルダリスト取得サンプル

サンプルコード

以下は、Google Colab 上で実行できるサンプルコードです。

# 必要なライブラリをインストール
!pip install requests

# ライブラリのインポート
import requests
import json

# 必要な変数を設定
ACCESS_TOKEN = "your_access_token"  # @param {type:"string"}
USER_ID = "me"  # @param {type:"string"} "me" または LINE WORKSユーザーID

# API エンドポイント
API_ENDPOINT = f"https://www.worksapis.com/v1.0/users/{USER_ID}/mail/mailfolders"

# メールフォルダリストを取得する関数
def get_mail_folders(access_token):
    headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json"
    }

    # GET リクエストを送信
    response = requests.get(API_ENDPOINT, headers=headers)

    # レスポンス処理
    if response.status_code == 200:
        print("✅ メールフォルダリストを取得しました!")
        folders = response.json().get("mailFolders", [])
        for folder in folders:
            print(json.dumps(folder, indent=4, ensure_ascii=False))
    else:
        print(f"❌ フォルダリストの取得に失敗しました。ステータスコード: {response.status_code}")
        print(response.text)

# 関数の実行
get_mail_folders(ACCESS_TOKEN)

実行結果例

成功時の例:

✅ メールフォルダリストを取得しました!
{
    "folderId": 0,
    "folderType": "S",
    "folderName": "受信トレイ",
    "unreadMailCount": 15356,
    "mailCount": 15540,
    "usage": 37151934
}
{
    "folderId": 1,
    "folderType": "S",
    "folderName": "送信済みメール",
    "unreadMailCount": 0,
    "mailCount": 159,
    "usage": 62219082
}

エラー時の例:

❌ フォルダリストの取得に失敗しました。ステータスコード: 403
{"code":"ACCESS_DENIED","description":"Access is denied for userId."}

注意事項

  1. スコープの確認

    • アクセストークンに必要なスコープ(mail または mail.read)が含まれていることを確認してください。
  2. アクセストークンの有効期限

    • トークンが期限切れの場合、新しいトークンを発行してください。

まとめ

このスクリプトを活用することで、LINE WORKS のメールフォルダ情報を簡単に取得できます。Google Colab を使用すれば、手軽に動作確認を行うことが可能です。

LINE WORKS メールフォルダリスト API を活用して、メールの管理を効率化しましょう!質問やフィードバックがあれば、ぜひコメントをお寄せください。

1
0
0

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
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?