TECH LAB

BoxのライセンスをAPIで取得する方法


実現したいこと

クラウドストレージのサービスBoxのライセンス管理のために、ライセンス情報をAPIで取得できないか調査しました。

結論

現状のBox APIではライセンス周りは提供されておらず取得不可能 残念

確認内容

開発者向けAPI Reference確認

まず定番通りBoxのAPI Referenceを眺めてみました。
残念ながらライセンス関連のAPIはなさそうでした。この時点で半分あきらめ状態です。 ただ、このAPIは開発者向けにファイルやフォルダ等の操作APIのはずなので、管理者向けがあるかなと追加で調べました。

質問フォーラムを確認

googleでbox api number of license等で検索してみました。

3年前の記事でしたが、同じ内容を聞いている人がいました。

Number of licenses available – Box Support

Is there a way, through the API, to retrieve the number of licenses available in Box?

その返信が以下です。

There is no API for number of licenses unfortunately

残念ながら、ライセンス数を返すAPIありませんと内容でした。

残念ですが、少し古い記事なので他の情報が無いか探してみました。

見つかった記事は以下のページで、質問フォーラムで同様の質問をしていました。

Account related info through Api – Box Support

We want to get account related info like account type, total number of users for which license is bought, number of users, storage allocation for whole account and other related information through api. Is there any api of that sort? Any help would be appreciated.

その返信が以下でした。

This information is not accessible via API at this time. If you would like to see this feature added, please ensure you visit pulse.box.com and provide information about your use case for our product team!

ライセンス情報にはAPIからアクセスできない。もしこの機能がほしければ 要望サイト(pulse.box.com)で要望を出して欲しい

とのことでした。

この記事は2ヶ月前(2021年6月)の記事でしたので、APIでライセンス数を取得することは残念ながら完全に無理そうでした。

APIに追加されるのを待つ他ないようです。

余談

まともに使える仕組みではないので完全に余談になります。 Boxには開発者向けのライセンス取得APIはありませんでしたが、Boxの管理者ページではAPIベースでライセンスの状況を取得していました。

Boxの管理ページでは以下のAPIを叩いており、この返却値を使って画面表示しているようでした。

https://mydomain.app.box.com/index.php?rm=box_master_users_get_user_counts&includeMustPayForOverageField=true

{
    "success": true,
    "users_count": {
        "used": 10,
        "available": 10,
        "free": 8,
        "slaves_used": 10,
        "unlimited_invited_collabs": true,
        "invited_collabs": 20,
        "must_pay_for_overage_at_checkout": true,
        "unused": 2,
        "unused_plus_overage_allowance": 2
    }
}```

このAPIをコールするには通常のブラウザアクセスと同様にcookieによる認証が行われているため、当然APIトークン等によるアクセスはできません。

curl等で叩いても以下のように認証エラーとなります。使えるシチュエーションはほぼ無いと思いますが、もし使える方がいたら教えて下さい。

```json
{
    "e_session": 1,
    "result": 0,
    "error": "error",
    "errormessage": "session expired"
}

関連記事

Get notified on new marketing insights

Be the first to know about new B2B SaaS Marketing insights to build or refine your marketing function with the tools and knowledge of today’s industry.