クラウドストレージ「Box」を使用してファイルを共有する際、ファイルアップロードをした後に、共有リンク作成・コピーと手順が多く、手間がかかります。

この状況を改善するため、Pythonを使用しファイルアップロードから共有リンク作成までを自動化するプログラムの作成を実施しました。

ソースコード

最新のソースコードは、Githubにて公開しています。

個人的に使用するのを目的に開発しているため、エラー処理等が十分でない箇所があるかもしれません。

YANAI-Taketo/BOX-SharingGitHubgithub.com

実行には関連するパッケージのインストールが必要です。

同梱している「packages」のwhlファイルから、または下記のコマンドでパッケージをインストールしてください。

pip install configparser boxsdk flask

OAuth 2.0資格情報作成

プログラムの実行には、OAuth 2.0認証が必要です。

Box Developersにて、認証情報を作成してください。

「カスタムアプリ」を選択

「アプリ名」と「目的」に任意の情報を入力し、
「次へ」をクリック

「ユーザー認証(OAuth 2.0)」を選択し、
「アプリの作成」をクリック

「クライアントID」と「クライアントシークレット」をコピー。
「リダイレクトURL」に[http://localhost:5000/callback]を設定。
「Boxに格納されているすべてのファイルとフォルダへの書き込み」にチェックをいれ、
「変更を保存」をクリック。

コピーした「クライアントID」と「クライアントシークレット」は、env.iniに貼り付ける。

env.ini
[box]
client_id = クライアントID
client_secret = クライアントシークレット
access_token = [空白]
refresh_token = [空白]
folder_id = フォルダID

folder_idには、アップロードしたいフォルダのページを表示した際、URL(/folder/ 配下)に表示される数値を貼り付ける。

プログラムの実行

プログラムは、「main.py」を実行することで起動される。

cmd
python main.py

プログラム実行後は、http://localhost:5000にアクセスし、BOXにログインする。

以降は、「http://localhost:5000/upload」にアクセスすることで、ファイルアップロードから共有リンク作成までを自動化することができる。

アップロードファイルの選択画面

自動的にアップロードされ、共有リンクが画面に表示される。