[英]How to upload a file on google drive with php Google Drive API
[英]How to speed up loading of Google Drive API in PHP
我在 StackOverflow 中找到了很多關於此的主題,但其中一些已經過時了 8 年前。
我正在使用 Google Drive API 和 PHP 顯示一個表樹,並且已經做到了,但是速度很慢,有時需要 30 秒才能加載。
這是我的代碼:
$root['pageSize'] = 10;
$root['q'] = "mimeType='application/vnd.google-apps.folder' and name='MainFolder' and trashed=false";
$root['fields'] = 'files(id, name, modifiedTime, mimeType), nextPageToken';
$rootfolder = $service->files->listFiles($root);
foreach( $rootfolder as $pp => $mainroot) {
$parameters['pageSize'] = 10;
$parameters['q'] = "'{$mainroot['id']}' in parents";
$parameters['fields'] = 'files(id, name,modifiedTime), nextPageToken';
$files = $service->files->listFiles($parameters);
foreach( $files as $k => $file ){
echo " <tr>
<td><i class='ti-folder'></i>
<button class='toggleDetails'> ";
echo $file['name'];
echo "</button>";
// display subfolders
$parameters2['pageSize'] = 10;
$parameters2['q'] = "'{$file['id']}' in parents";
$parameters2['fields'] = 'files(id, name, modifiedTime, mimeType), nextPageToken';
$sub_files = $service->files->listFiles($parameters2);
echo " <ul class='details filelistdown'> ";
foreach( $sub_files as $kk => $sub_file ) {
echo " <li>     <i class='ti-calendar'></i> {$sub_file['name']}</li>";
// list files
$subfiles_2['pageSize'] = 10;
$subfiles_2['q'] = "'{$sub_file['id']}' in parents";
$subfiles_2['fields'] = 'files(id, name, modifiedTime, mimeType, webViewLink, webContentLink), nextPageToken';
$sub_files_two_2 = $service->files->listFiles($subfiles_2);
echo "<ul>";
foreach( $sub_files_two_2 as $uu => $sub_file_2 ) {
echo "<li>              *{$sub_file_2['name']} -- <a href='{$sub_file_2['webContentLink']}' target='_blank' class='badge badge-success'>Download</a> or <a href='{$sub_file_2['webViewLink']}' target='_blank' class='badge badge-primary'>View</a></li>";
}
echo "</ul>";
}
}
}
我只想問有沒有什么辦法可以加快加載文件的速度?
謝謝
谷歌驅動器 API 是一個免費的 API 你得到你付出的代價,我不會試圖過多地關注速度你只會受到配額例外的打擊。
關於您的代碼,您正在提出許多請求。 如果您的目錄結構之后,您可以只運行一個完整的請求,將所有內容加載到一個變量中,然后在您自己的機器上進行本地排序。 看到文件列表方法的最大頁面大小為 1000,您可以通過不必調用每個目錄來獲取其子目錄來大量減少請求數量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.