🤷‍♂️

Google Drive APIをちょこっと(PHP)

2022/03/29に公開

前提

Google Drive APIのバージョンv3です
認証周りの設定は省きます。
一覧取得とか、よくある記事じゃないやつを記載しようと思います。

1.共有フォルダの特定のフォルダ配下にフォルダを作成

共有ドライブ
  |____ALL(全体)
  |     |___.....
  |
  |____各部署
  |     |___.....
  |
  |____外部
        |___{新規フォルダ}
$client = new Google_Client();
$client->setScopes([
    // 使用するリソース・メソッドに合わせてscopeをつけてください
]);
$client->setAuthConfig([
    // 認証周りの設定(jsonファイル、プロジェクトIDなどなど)
]);
// Drive API クラスを生成
$service = new Google_Service_Drive($client);

// フォルダ作成します。
$file_data['name'] = 'クライアント様関連'; // フォルダ名
$file_data['mimeType'] = 'application/vnd.google-apps.folder'; //フォルダはこれ
$file_data['parents'] = [{「外部」のフォルダID}]; 
// ファイルのメタ情報クラスを生成
$file_meta_data = new Google_Service_Drive_DriveFile($file_data);

$service->files->create($file_meta_data, [
    'fields' => 'id, name',
    'supportsAllDrives' => true // v3から、大体のメソッドのオプションに必須です。v2で使用していたオプションは非推奨になりました。
]);

2.不要なフォルダをゴミ箱に移動(削除すると、ゴミ箱にも残らない)

// 一部同じなので省略
$file_meta_data = new Google_Service_Drive_DriveFile();

// ゴミ箱行き
$file_meta_data->setTrashed(true);
$service->files->update({対象フォルダID}, $file_meta_data,[
     'supportsAllDrives' => true,
]);

Discussion