Загрузка файлов на Google Drive - это две части. (обратите внимание, что это можно сделать как один вызов, но если вы хотите добавить данные corect, лучше всего сделать это как два)
create Добавляет исходные метаданные для файла. Имя, тип носителя и местоположение, являющееся его родительским каталогом.
Вторая фактическая загрузка самого файла.
Примечание: файл, загруженный без предварительной отправки метаданных, чаще всего создает фиктивные метаданные с заголовком файла «неизвестно».
Создать
Когда вы делаете , создаете инерциальных метаданных. Вам нужно добавить родителей в этот начальный вызов, поле называется parents[]
, вам нужно добавить туда идентификатор файла. Я не могу помочь вам сделать это, поскольку вы не добавляете код для этого.
Загрузить
По умолчанию файл загружается в корневую папку, если вы не добавите идентификатор родительской папки для файла.
Если вы посмотрите документацию , вы найдете дополнительные параметры запроса
Попробуйте использовать &addParents=[folderId]
* +1039 * Пример:
https://www.googleapis.com/upload/drive/v3/files?uploadType=media&addParents=1bpHmln41UI-CRe5idKvxrkIpGKh57T32
Если вы изначально создали метаданные для файла в корневом каталоге, а затем попытаетесь загрузить файл в другой каталог, я подозреваю, что при загрузке будут созданы новые метаданные. Эти два вызова должны быть сделаны одинаково. В вашем творчестве должны быть установлены родители.
тело сообщения
$data = array("name" => "test.jpg", "parents" => array("123456"));
$data_string = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);