На этой странице, посвященной API Google Docs, описывается, как выполнять определенные сложные задачи, связанные с документами Google Docs, например:
- Создать документ
- Скопировать существующий документ
В следующих параграфах эти задачи описаны подробно.
Создать пустой документ
Для создания документа используйте метод documents.create из коллекции documents .
Приведенный ниже пример кода демонстрирует, как создать пустой документ с указанным заголовком:
Java
private static void createDoc(Docs service) throws IOException { Document doc = new Document() .setTitle("My Document"); doc = service.documents().create(doc) .execute(); System.out.println("Created document with title: " + doc.getTitle()); }
Node.js
const title = 'My Document'; const resource = { title, }; this.service.documents.create({ resource, }, (err, response) => { if (err) return console.log('The API returned an error: ' + err); console.log(`Created document with title: ${response.data.title}`); });
PHP
$title = 'My Document'; $document = new Google_Service_Docs_Document(array( 'title' => $title )); $document = $service->documents->create($document); printf("Created document with title: %s\n", $document->title);
Python
title = 'My Document' body = { 'title': title } doc = service.documents() \ .create(body=body).execute() print('Created document with title: {0}'.format( doc.get('title')))
Работа с папками Google Диска
В API Google Документы нет возможности создать документ непосредственно в указанной папке Google Диска. По умолчанию созданный документ сохраняется в корневой папке пользователя на Google Диске.
Однако, помимо сохранения файла в папку на Google Диска, существуют две альтернативы:
После создания документа переместите его в определенную папку, используя метод
files.updateAPI Google Drive. Дополнительную информацию о перемещении файлов см. в разделе «Перемещение файлов между папками» .Добавьте пустой документ в папку, используя метод
files.createAPI Google Drive, указав в качествеmimeTypeapplication/vnd.google-apps.document. Дополнительную информацию о создании файлов см. в разделе «Создание файла в определенной папке» .
В любом из этих вариантов вам потребуется добавить соответствующие области действия API Google Drive для авторизации вызова. Дополнительную информацию об областях действия Google Drive см. в разделе «Выбор областей действия API Google Drive» .
Чтобы переместить или создать файл в папке общего диска, см. раздел «Реализация поддержки общих дисков» .
Скопировать существующий документ
Для копирования документа используйте метод files.copy из API Google Drive.
Обратите внимание, что метод files.copy нельзя использовать для копирования опубликованного документа. Дополнительную информацию см. в разделе «Опубликованные документы» .
Приведённый ниже пример кода демонстрирует, как скопировать существующий документ. Идентификатор, используемый для вызова API Google Drive, можно найти в URL-адресе документа. Для получения дополнительной информации см. раздел «Идентификатор документа» .
https://docs.google.com/document/d/DOCUMENT_ID/edit
Java
String copyTitle = "Copy Title"; File copyMetadata = new File().setName(copyTitle); File documentCopyFile = driveService.files().copy(DOCUMENT_ID, copyMetadata).execute(); String documentCopyId = documentCopyFile.getId();
Node.js
var copyTitle = "Copy Title"; let request = { name: copyTitle, }; this.driveService.files.copy({ fileId: DOCUMENT_ID, resource: request, }, (err, driveResponse) => { let documentCopyId = driveResponse.id; });
PHP
$copyTitle = 'Copy Title';
$copy = new Google_Service_Drive_DriveFile(array(
'name' => $copyTitle
));
$driveResponse = $driveService->files->copy(DOCUMENT_ID, $copy);
$documentCopyId = $driveResponse->id;Python
copy_title = 'Copy Title' body = { 'name': copy_title } drive_response = drive_service.files().copy( fileId=DOCUMENT_ID, body=body).execute() document_copy_id = drive_response.get('id')
Обратите внимание, что для авторизации вызова необходимо использовать соответствующую область действия API Google Drive . Дополнительную информацию об областях действия API Google Drive см. в разделе «Выбор областей действия API Google Drive» .