Создание документов и управление ими

На этой странице, посвященной 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 Диска, существуют две альтернативы:

В любом из этих вариантов вам потребуется добавить соответствующие области действия 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» .