LINE WORKS 監査ログのダウンロード
LINE WORKSの監査ログを簡単にダウンロードできるPythonサンプルコードを紹介します。このツールはGoogle Colab上で動作し、手軽に試すことが可能です。監査ログの取得はセキュリティや運用の観点から重要で、このサンプルを活用することで効率的に管理できます。
サンプルコードについて
このサンプルコードは、以下の機能を提供します:
- 監査ログのダウンロードURLの取得:LINE WORKS APIを使用して監査ログのダウンロードURLを取得します。
- CSV形式でログを保存:取得した監査ログをローカルにCSV形式で保存します。
- Google Colab対応:環境構築が不要で、すぐに試せます。
ノートブックは以下のリンクから利用できます:
LW_Audit_Log_Download_Tool.ipynb
サンプルコードの使い方
1. Google Colabで実行
- 上記のリンクをクリックしてGoogle Colabを開きます。
- 必要なパラメータ(アクセストークンやログ期間など)を入力します。
- 実行ボタンをクリックして監査ログをダウンロードします。
2. サンプルコードの内容
以下はコードの主要な部分です。
必要なライブラリのインストール
Google Colabで実行する際には、以下のコマンドでライブラリをインストールします。
!pip install requests
設定パラメータの入力
監査ログを取得するために必要なパラメータを入力します。
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN" # LINE WORKS監査ログAPI用アクセストークン
SERVICE = "message" # 取得対象のサービス (例: message)
START_TIME = "2024-12-01T00:00:00%2B09:00" # 開始日時 (URLエンコード済み)
END_TIME = "2024-12-19T23:59:59%2B09:00" # 終了日時 (URLエンコード済み)
LANGUAGE = "ja_JP" # 言語設定
OUTPUT_FILE = "audit_logs.csv" # 保存ファイル名
ダウンロードURLの取得
以下の関数で監査ログのダウンロードURLを取得します。
def get_audit_logs_url():
headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}
params = {"service": SERVICE, "startTime": START_TIME, "endTime": END_TIME, "language": LANGUAGE}
response = requests.get(BASE_URL, headers=headers, params=params, allow_redirects=False)
if response.status_code == 302:
return response.headers.get("Location")
else:
raise Exception(f"ダウンロードURL取得失敗: {response.status_code}")
監査ログのダウンロード
取得したURLを使用してCSVファイルを保存します。
def download_audit_logs(download_url, output_file):
headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}
response = requests.get(download_url, headers=headers, stream=True)
with open(output_file, "wb") as file:
for chunk in response.iter_content(chunk_size=1024):
file.write(chunk)
print(f"✅ 監査ログを{output_file}に保存しました。")
実行結果
Google Colab上で実行すると、以下のようにログが保存されます。
- ダウンロードURLが取得されるとコンソールに表示されます。
- 監査ログが指定したファイル名でローカルに保存されます。
注意事項
- アクセストークンの有効期限:アクセストークンが期限切れの場合、新しいトークンを取得してください。
- 取得期間:指定できる期間は最大31日です。
- 認証エラー:正しいアクセストークンを設定してください。
まとめ
このサンプルコードを使用すると、LINE WORKSの監査ログを効率よく取得できます。Google Colabを利用することで、簡単に試すことが可能です。
ぜひ業務の効率化にお役立てください。
フィードバックや質問があれば、コメント欄でお知らせください!