Я слежу за этим Google Drive Search API Google Drive API Я использовал приведенный ниже код, чтобы успешно отобразить все файлы и папки на диске Google, и все работает нормально.
$access_token = 'xxxxxxxx';
$headers = array(
"Authorization: Bearer $access_token",
"Content-Type: application/json"
);
$ch = curl_init();
//curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/drive/v3/files?trashed=false");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$response = curl_exec($ch);
var_dump($response);
Вот моя проблема
Мне нужно получить все файлы в определенной папке, например myvideo_folder.
Я попробовал код ниже, но не смог заставить его работать. это выдает ошибку
{ "error": { "code": 404, "message": "File not found: .", "errors": [ { "message": "File not found: .", "domain": "global", "reason": "notFound", "location": "fileId", "locationType": "parameter" } ] } } "
Вот код
$access_token = 'xxxxx';
$headers = array(
"Authorization: Bearer $access_token",
"Content-Type: application/json"
);
$folder_name='myvideo_folder';
$ch = curl_init();
//curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/drive/v3/files?q='$folder_name' in parents");
curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/drive/v3/files?q=%27$folder_name%27%20in%20parents");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$response = curl_exec($ch);
var_dump($response);
Вот как я закодировал свой запрос, который показывает ошибку, указанную в сообщении. curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/drive/v3/files?q=%27$folder_name%27%20in%20parents");
если попытаться не кодировать запрос как curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/drive/v3/files?q='$folder_name' in parents");, он отобразится bool(false)
Сначала вам нужно получить идентификатор папки на диске (запрос с помощью «name='foldername' и mimeType='application/vnd.google-apps.folder' иrashed=false»), затем снова повторите запрос с «folderid в родительском элементе», чтобы получить файлы. Лучше использовать API-клиент Google Drive для PHP github.com/googleapis/google-api-php-client
@shirshak007 вы можете обновить свой ответ как правильный ответ между Спасибо






Сначала нужно получить идентификатор папки Google Drive. Для этого выполните запрос с помощью
$query1 = "name='".$foldername."' and mimeType='application/vnd.google-apps.folder' and trashed=false";
Затем снова запрос с помощью
$query2 = "$folderid in parents";
Таким образом вы можете получить файлы.
Хотя это лучше и проще в использовании
API-клиент Google Drive для PHP: github.com/googleapis/google-api-php-client
Вы пробовали не кодировать свой запрос?