PHPでGoogleDriveのAPIを利用してみます。
前回の続きです
OAUTHのアクセストークンは取得している前提で。
今回は検索系をいくつか紹介します
公式ドキュメントのパラメータはこちら
ファイル名で検索して、ヒットしたファイル一覧を表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php require_once (dirname(__FILE__) . '/vendor/autoload.php'); session_start(); if( !isset( $_SESSION['accessToken'] ) ) { echo "Get Access Token<br>"; exit; } else { $accessToken = $_SESSION['accessToken']; } $params['approval_prompt'] = 'force'; $client = new Google_Client($params); $client->setApplicationName("xxxxx"); $client->setAuthConfig('client_secrets.json'); $client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY); $client->setAccessToken($accessToken); if( $client->isAccessTokenExpired() ) { $_SESSION['accessToken'] = $client->fetchAccessTokenWithRefreshToken(); } $drive = new Google_Service_Drive($client); // ファイル名が一致する検索 $search = array('q' => "name='__FILE_NAME_YOU_WANT_TO_SEARCH__'"); $files = $drive->files->listFiles($search)->getFiles(); foreach($files as $file) { echo "ID:{$file->id}<br>"; echo "名前:{$file->name}<br>"; echo "KIND:{$file->kind}<br>"; echo "MIME:{$file->mimeType}<br>"; echo "--------------------<br>"; } |
特定のフォルダを指定して、配下のファイル(フォルダ)を表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php require_once (dirname(__FILE__) . '/vendor/autoload.php'); session_start(); if( !isset( $_SESSION['accessToken'] ) ) { echo "Get Access Token<br>"; exit; } else { $accessToken = $_SESSION['accessToken']; } $params['approval_prompt'] = 'force'; $client = new Google_Client($params); $client->setApplicationName("xxxxxx"); $client->setAuthConfig('client_secrets.json'); $client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY); $client->setAccessToken($accessToken); if( $client->isAccessTokenExpired() ) { $_SESSION['accessToken'] = $client->fetchAccessTokenWithRefreshToken(); } $drive = new Google_Service_Drive($client); // 特定のフォルダ配下の一覧検索 $search = array('q' => "'__FOLDER_ID_YOU_WANT_TO_SHOW__' in parents"); $files = $drive->files->listFiles($search)->getFiles(); foreach($files as $file) { echo "ID:{$file->id}<br>"; echo "名前:{$file->name}<br>"; echo "KIND:{$file->kind}<br>"; echo "MIME:{$file->mimeType}<br>"; echo "--------------------<br>"; } |
こんな感じで検索したり、ファイル一覧を表示したりできますね。