Google Drive API – 檔案的搜尋
使用files:list的q參數可以做到搜尋資料夾裏的檔案(給予各種條件)
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="https://apis.google.com/js/api.js"></script>
<script>
var FOLDER_ID = "1QjSA-EBfbAIBoe2UKvkJbBKzkInDLNFu"; //Google資料夾ID
function printFile(fileId) {
console.log(fileId)
let request = gapi.client.drive.files.list({
'q' : "'" + fileId + "' in parents"
});
//使用gapi.client.drive.files.list的'q'參數進行資料夾id的列表,此方法會回傳資料夾中所有的檔案(包含資料夾),resp.items為這些檔案的集合物件。
request.execute(function (resp) {
if(resp && resp.items.length > 0) { //如果resp物件不是空的話 而且 resp.items項目元素大於0的話
for (let i=0; i < resp.items.length; i++){ //走訪items這個集合物件
let f = resp.items[i]; //使用f指向items指定的每一個檔案物件
// console.log('Title: ' + f.title);
// console.log('Description: ' + f.description);
// console.log('MIME type: ' + f.mimeType);
if (f.mimeType == "application/vnd.google-apps.folder") { //如果是資料夾型態的話
printFile(f.id); //以這個資料夾為參數進行遞迴呼叫,走訪這個資料夾所有的檔案
} else {
document.getElementById('fileInfo').innerHTML +=
"檔案標題:"+f.title+"<br>" +
"檔案描述:"+f.description+"<br>" +
"檔案建立日期:"+f.createdDate+"<br>" +
"檔案修改日期:"+f.modifiedDate+"<br>" +
"檔案型態:"+f.mimeType+"<br>" +
"檔案擁有者:"+f.ownerNames +"<br><hr>";
}
}
}
});
}
function tf(){
printFile(FOLDER_ID);
}
function init() {
gapi.client.setApiKey('AIzaSyBQJVpHzi7hEMeQgCmZkkIYVjHkrRj1ClQ'); //你的API金錀
gapi.client.load('drive', 'v2').then(tf);
}
gapi.load('client', init);
</script>
</head>
<body>
<p id='fileInfo'></p>
</body>
</html>



