PHPからDBX Platformを利用してDropbox内にディレクトリ(フォルダ)を作成する方法
PHPからDBX Platformを利用してDropbox内にディレクトリ(フォルダ)を作成したい。以下に実装方法をメモ。
Dropbox側の準備
Dropbox側の準備については以下過去記事を参考に「アプリの作成~リフレッシュトークンの取得」まで済ませておくこと。
https://taitan916.info/blog/archives/4694#Dropbox
実装方法
ソースコード
<?php const APP_KEY = '【App key】'; const APP_SECRET = '【App secret】'; const REFRESH_TOKEN = '【リフレッシュトークン】'; // 一時的なアクセストークンを取得 function getAccessToken() { $url = 'https://api.dropboxapi.com/oauth2/token'; $data = [ 'grant_type' => 'refresh_token', 'refresh_token' => REFRESH_TOKEN, 'client_id' => APP_KEY, 'client_secret' => APP_SECRET ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); $res = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); $access_token = ''; if( !curl_errno($ch) && $http_code == "200" ){ $res = json_decode($res, true); $access_token = $res['access_token']; } else { echo "ERROR: Failed to access Dropbox API : " . curl_error($ch) . "<br>"; } curl_close($ch); return $access_token; } function createDir($access_token, $path) { $url = 'https://api.dropboxapi.com/2/files/create_folder_v2'; $headers = array( 'Authorization: Bearer ' . $access_token, 'Content-Type: application/json', ); $param = array( "path" => $path, "autorename" => true ); $options = array( CURLOPT_URL => $url, CURLOPT_HTTPHEADER => $headers, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($param), CURLOPT_RETURNTRANSFER => true, ); $ch = curl_init(); curl_setopt_array($ch, $options); $res = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if (!curl_errno($ch) && $http_code == "200") { $flg = true; } else { $flg = false; } curl_close($ch); return $flg; } //一時的なアクセストークンを取得 $access_token = getAccessToken(); $path = '/test_dir'; $flg = createDir($access_token, $path); if( $flg ){ echo 'success'; }else{ echo 'error'; }
ディレクトリについて
Dropbox側の準備で作成したディレクトリがルートディレクトリになり、その下の階層に作成される。
今回の場合だと「php_connection_test/test_dir」というディレクトリが作成される。
参考サイト
関連記事
-
PHPからDBX Platformを利用してDropbox内のファイルを削除する方法
以前にPHPからDropboxのファイル一覧のデータ(ファイル名や更新日時等)を ...
-
PHPからDBX Platformを利用してDropbox内のファイル一覧を取得する方法
以前にPHPからDropboxにファイルをアップロードするという記事を書いたが、 ...
-
PHPからDBX Platformを利用してサーバ内のファイルをアップロードする方法
PHPで何らかのファイルを保存するようなケースだと今まではローカルに保存する、も ...