На этой странице, посвященной 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.
Приведённый ниже пример кода демонстрирует, как скопировать существующий документ. Идентификатор, используемый для вызова 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(documentId, copyMetadata).execute(); String documentCopyId = documentCopyFile.getId();
Node.js
var copyTitle = "Copy Title"; let request = { name: copyTitle, }; this.driveService.files.copy({ fileId: documentId, resource: request, }, (err, driveResponse) => { let documentCopyId = driveResponse.id; });
PHP
<?php $copyTitle = 'Copy Title'; $copy = new Google_Service_Drive_DriveFile(array( 'name' => $copyTitle )); $driveResponse = $driveService->files->copy($documentId, $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» .