見出し画像

LanScopeクラウド版のAPIでデバイス情報やインストールアプリを取得するには【Python版】

はじめに

 前にPowerShellでLanScopeのAPIを利用する記事を書きました。今回はそのPython版です。




2. APIトークンの発行方法

 APIを使うにはアクセスキーとなるAPIトークンが必要になります。APIトークン取得には、LANSCOPEクラウド版API利用登録が必要です。
詳しくは前回の記事、またはLANSCOPEのヘルプを参照してください。


3. Pythonでデバイス情報を取得

 デバイス情報の取得が一番需要があるんじゃないでしょうか
次のようにPythonで書いて実行します。

Pythonスクリプト例 デバイス情報取得

import requests

# APIエンドポイント(デバイス情報の取得)
api_url = "https://api.lanscopean.com/v1/devices"

# APIトークン
token = "ここにAPIトークンを書く"

# ヘッダーの設定
headers = {
    "Authorization": f"Bearer {token}",
    "Accept": "application/json"
}

# APIリクエストの送信
response = requests.get(api_url, headers=headers)

if response.status_code == 200:
    devices = response.json().get("data", [])

    for device in devices:
        computer_name = device.get("computer_name")
        os_version = device.get("os_version")
        device_name = device.get("device_name")
        login_user_name = device.get("login_user_name")

        print(f"PC名: {computer_name}, OS: {os_version}, 機種: {device_name}, ユーザー名: {login_user_name}")


else:
    print(f"APIエラー: {response.status_code} - {response.text}")

このスクリプト例の「ここにAPIトークンを書く」の部分を前項で取得したAPIトークンに書き換えて、Pythonプログラムとして実行するとLanScopeで管理されるデバイス情報が取得できます。実行するときimportの部分でエラーが出る場合は「pip install requests」を実行してrequestsモジュールをインストールしておいてください。

使用するAPIエンドポイントの説明

APIの問い合わせ先であるURLはこちら
https://api.lanscopean.com/v1/devices
このURLへ前の章で取得したAPIトークンを渡すとデバイス情報を取得できます。

出力される主要な項目:
 シリアル番号、ホスト名、MACアドレス、メーカー、OS、OSバージョン、モデル、型番、ハードウェア種別、CPU、メモリ、ストレージ、
 その他LanScope上で入力する細々した項目


4. Pythonでインストールアプリ情報を取得

 LanScopeだとブラウザ拡張機能やMSストアアプリが上手く取れないみたいでイマイチなんですが、これもAPIで取得してみましょう。次のようにPythonで書いて実行します。

Pythonスクリプト例 インストールアプリ情報

import requests

# APIエンドポイント
api_url = "https://api.lanscopean.com/v1/devices/installed_applications"

# APIトークン
token = "ここにAPIトークンを書く"

# ヘッダーの設定
headers = {
    "Authorization": f"Bearer {token}",
    "Accept": "application/json"
}

# APIリクエストの送信
response = requests.get(api_url, headers=headers)

if response.status_code == 200:
    data = response.json().get("data", [])

    for device in data:
        device_id = device.get("device_id")
        client_type = device.get("client_type")
        applications = device.get("applications", [])

        print(f"ID: {device_id}, OS: {client_type}, app count: {len(applications)}")

        for app in applications:
            app_name = app.get("application_name")
            developer = app.get("developer_name")
            installed_at = app.get("installed_at")

            print(f"アプリ名: {app_name}, developer: {developer}, インストール日: {installed_at}")

else:
    print(f"APIエラー: {response.status_code} - {response.text}")

このスクリプト例の「ここにAPIトークンを書く」の部分を前項で取得したAPIトークンに書き換えて、Pythonプログラムとして実行するとデバイス毎のインストールされているアプリ一覧取得できます。


5. Pythonで活動時間を取得

 活動時間の取得?ログインログオフの時間が取得できます。勤怠情報としては使えないんですが、いるのか?これ?
次のようにPythonで書いて実行します。

Pythonスクリプト例 活動時間情報

# APIエンドポイント 活動時間を取得
import requests
from datetime import datetime

# APIエンドポイント
api_url = "https://api.lanscopean.com/v1/reports/devices/activity_time"

# APIトークン(LanScope PORTALで取得)
token = "ここにAPIトークンを書く"

# HTTPヘッダーの設定
headers = {
    "Authorization": f"Bearer {token}",
    "Accept": "application/json"
}

# クエリパラメータ(必要に応じて設定)
params = {
    # 例: "start_date": "2025-09-01", "end_date": "2025-09-30"
}

# APIリクエストの送信
response = requests.get(api_url, headers=headers, params=params)

# 結果の処理
if response.status_code == 200:
    data = response.json().get("data", [])
    for item in data:
        start = datetime.fromisoformat(item["start_datetime"])
        end = datetime.fromisoformat(item["end_datetime"])
        duration_hours = (end - start).total_seconds() / 3600

        print({
            "日付": item["date"],
            "device_id": item["device_id"],
            "管理番号": item["asset_no"],
            "開始日時": item["start_datetime"],
            "終了日時": item["end_datetime"]
        })
else:
    print(f"APIエラー: {response.status_code} - {response.text}")

このスクリプト例の「ここにAPIトークンを書く」の部分を前項で取得したAPIトークンに書き換えて、Pythonプログラムとして実行するとデバイス毎の活動時間が取得できます。

まとめ

 APIを使うとさまざまな情報を取り込むことができます。ご活用ください。


#Python #情シス #WEBAPI #デバイス管理 #LanScope #IT資産管理
#コマンドレット #MDM #ログ監視 #LanScopeクラウド版API


こちらの記事もよろしく



いいなと思ったら応援しよう!