BoxをPythonで操作するためのメモ.

目次

  1. インストール
  2. 手続き
  3. サンプルコード

インストール

pip install boxsdk

手続き

  1. 開発者メニュー
    1. カスタムアプリを作成.
    2. JWTによるサーバ認証.
    3. 公開/秘密キーペアを生成→config.jsonをダウンロードしておく.
  2. マイアカウント
    1. アプリと共有するフォルダを作成.
  3. 管理者メニュー
    1. カスタムアプリマネージャーでアプリを追加.
    2. グループを作成でグループメンバーにチェック.
    3. メンバーを追加でアプリを指定.
    4. 共有フォルダを指定.

サンプルコード

ファイルやフォルダのIDとはブラウザからBoxを開いた時にURLに出ている,数字の列のこと.

from boxsdk import JWTAuth, Client

conf = JWTAuth.from_settings_file('./config.json')
client = Client(conf)

# ファイル情報の取得
file_id = '1111'
file_info = client.file(file_id).get()
print(f'File "{file_info.name}" has a size of {file_info.size} bytes')

# ダウンロード
file_content = client.file(file_id).content()
with open('ローカルへダウンロードした後のファイル名', 'wb') as f:
s = file_content
f.write(s)

# フォルダ情報の取得
folder_id='2222'
folder = client.folder(folder_id=folder_id).get()
print(f'Folder "{folder.name}" has {folder.item_collection["total_count"]} items in it')

# アップロード
new_file = client.folder(folder_id).upload('パス')
print(f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}')