Я использую API Google Диска в PHP для управления любыми файлами (вставка, удаление, копирование …).
Теперь мне нужно создать копию файла в папке с драйвером (вставить работу отлично).
Мой код совпадает с кодом Google. Я нашел идентификатор файла с параметрами поиска, а затем вызываю функцию:
$parameters = array(); $parameters['q'] = "title = '".$title."' and mimeType = 'application/vnd.google-apps.spreadsheet'"; $files = $service->files->listFiles($parameters); if (count($files['items'])>0){ $fileId = $files['items'][0]['id']; // unique file name $copiedFile = new Google_Service_Drive_DriveFile(); $copiedFile->setTitle("copied_file"); $service->files->copy($fileId, $copiedFile); }
но когда я вызываю copy (), я получил эту ошибку:
Error calling POST https://www.googleapis.com/drive/v2/files/1adQjO5ABcbTai3GAEU3RBRHGi8u0_7DlaZfgWywxvqk/copy: (404) File not found: 16bRhq0E_OqYQlTys1oFu1vVeAjWl1P_non2-Z3lLdb8
Это правильный идентификатор файла для копирования:
1adQjO5ABcbTai3GAEU3RBRHGi8u0_7DlaZfgWywxvqk
но что это за идентификатор:
16bRhq0E_OqYQlTys1oFu1vVeAjWl1P_non2
Как я могу это решить?
Теперь это работает. Я выхожу из своего приложения (и удаляю из разрешения учетной записи google): когда я вошел в Google OAuth, запрашиваю новое разрешение, и он работает нормально.