目次
サンプル・プログラムの実行例

サンプル・プログラムのダウンロード
getDropBox.php | サンプル・プログラム本体。 |
pahooDropboxAPI.php | Dropbox APIクラス pahooDropboxAPI。 Dropbox APIクラスの使い方は「PHPで Dropboxのファイル取得」を参照。include_pathが通ったディレクトリに配置のこと。 |


つづいて Dropbox API Explorer にアクセスし、左ペインからどれかAPIを選ぶと、下図の画面になる。

PHPプログラムでは、このアクセス・トークンを使ってAPIにアクセスする。
解説:pahooDropboxAPI クラス
クラスについては「PHPでクラスを使ってテキストの読みやすさを調べる」で解説している。
クラスファイル "pahooDropboxAPI" は、組み込み関数 require_once を使って読めるディレクトリに配置する。ディレクトリは、設定ファイル php.ini に記述されているオプション設定 include_path に設定しておく。
21: //Dropbox API Access Token:各自で設定
22: //https://www.dropbox.com/lp/developers
23: var $DROPBOX_TOKEN = '**************************';
解説:Dropbox API リクエスト
リクエストは全てhttps通信で処理されることから、「PHPセキュリティ対策:SSL通信を行う」で紹介した cURL 関数群を用いる。
Dropbox API v2:ファイル検索
リクエストURL |
---|
https://api.dropboxapi.com/2/files/search |
フィールド名 | 要否 | 内 容 |
---|---|---|
path | 必須 | 検索対象ディレクトリ。Dropboxのパスで指定する。 |
query | 必須 | 検索パターン。ワイルドカードに加え、正規表現を利用できる。 |
start | 任意 | 検索開始番号。省略時は0。 |
max_results | 任意 | 検索でヒットした情報の最大数。省略時は100。 |
mode | 任意 | 検索対象 filename:ファイル名とフォルダ名 filename_and_content:ファイル名、フォルダ名、及びファイルの内容 deleted_filename:削除したファイル目とフォルダ名 省略時はfilename。 |
Dropbox API v2:通常ファイルかどうか
Dropbox API v2:ファイルの内容取得
リクエストURL |
---|
https://content.dropboxapi.com/2/files/download |
フィールド名 | 要否 | 内 容 |
---|---|---|
path | 必須 | ダウンロードするファイルのフルパス名。Dropboxのパスで指定する。 ファイルIDやrevでも指定できる。 |
サンプル・プログラムの流れ

119: /**
120: * Dropboxのファイル取得
121: * @param string $query 検索パターン
122: * @return array(取得データ,WebAPI,エラーメッセージ)
123: */
124: function getDropboxTextFile($query) {
125: $res = $api = $errmsg = '';
126: $pdb = new pahooDropboxAPI(); //Dropbox APIクラス
127:
128: if ($pdb->iserror()) {
129: $errmsg = $pdb->geterror();
130: //ファイル検索
131: } else if (($files = $pdb->glob($query)) == FALSE) {
132: $errmsg = $query . ' : not found';
133: //通常ファイルかどうか
134: } else if (! $pdb->is_file($files[0])) {
135: $errmsg = $files[0] . ' : is not a file';
136: //ファイル内容取得
137: } else if (($res = $pdb->file_get_contents($files[0])) == FALSE) {
138: $errmsg = $files[0] . ' : ' . $pdb->geterror();
139: }
140: $api = $pdb->webapi;
141: $pdb = NULL;
142:
143: return array($res, $errmsg, $api);
144: }
主な処理はユーザー関数 getDropboxTextFile の通りである。検索パターンは、各自の環境に合わせて変更してほしい。

また、クラス pahooDropboxAPI には、ファイルにデータを書き込んだりアップロードするメソッド、ファイルを削除するメソッドも用意してある。各自の責任において活用してほしい。
2018年(平成30年)9月現在、Dropbox API v2 ではPHP用のSDKが用意されていないため、ここではPHP 5以上でフレームワークを必要とせず、PHPのファイル操作関数に似せたメソッドを用意することを目標にする。
(2022年2月12日)PHP8対応,リファラ・チェック改良