Комментарии — это отзывы пользователей о файле, например, программа чтения текстового документа, предлагающая, как перефразировать предложение. Существует два типа комментариев: привязанные комментарии и незакрепленные комментарии . Привязанный комментарий связан с определенным местоположением, например с предложением в текстовом документе, в определенной версии документа. И наоборот, незакрепленный комментарий просто связан с документом.
Ответы прикрепляются к комментариям и представляют собой реакцию пользователя на комментарий. API Drive позволяет вашим пользователям добавлять комментарии и ответы к документам, созданным вашим приложением. В совокупности комментарий с ответами называется обсуждением .
Добавить незакрепленный комментарий
Чтобы добавить в документ незакрепленный комментарий, вызовите метод comments.create
с параметром fileId
и ресурсом comments
содержащим комментарий.
Комментарий вставляется в виде обычного текста, но в теле ответа содержится поле htmlContent
содержащее контент, отформатированный для отображения.
Добавить ответ на комментарий
Чтобы добавить ответ на комментарий, вызовите метод replies.create
с комментарием, параметром fileId
и ресурсом replies
содержащим ответ.
Ответ вставляется в виде обычного текста, но в теле ответа имеется поле htmlContent
содержащее контент, отформатированный для отображения.
Добавить привязанный комментарий к последней версии документа
Добавляя комментарий, вы можете захотеть привязать его к определенной области файла. Привязка определяет версию файла и регион в файле, на который ссылается комментарий. Ресурс comments
определяет поле anchor
как строку JSON.
Чтобы добавить привязанный комментарий:
(Необязательный). Вызовите метод
revisions.list
, чтобы получить список всехrevisionID
ревизий документа. Выполняйте этот шаг только в том случае, если вы хотите привязать комментарий к любой ревизии, кроме последней. Если вы хотите использовать последнюю версию, используйтеhead
дляrevisionID
.Вызовите метод
comments.create
с параметромfileID
, ресурсомcomments
, содержащим комментарий, и строкой привязки JSON, содержащейrevisionID
(r
) и регион (a
).
То, как вы определяете регион, зависит от типа содержимого документа, с которым вы работаете. Дополнительную информацию см. в разделе Определение региона .
Определить регион
Как упоминалось ранее, строка привязки JSON содержит revisionID
( r
) и регион ( a
). Регион ( a
) — это массив JSON, содержащий классификаторы регионов, определяющие формат и местоположение, к которому привязан комментарий. Классификатором может быть двумерный прямоугольник для изображения, строка текста в документе или длительность видео. Чтобы определить регион, выберите классификатор региона , соответствующий типу контента, к которому вы пытаетесь привязаться. Например, если ваш контент представляет собой текст, вы, скорее всего, будете использовать классификатор txt
или line
области.
Список классификаторов регионов в Drive API см. в разделе Классификаторы регионов .
В следующем примере показана строка привязки JSON, которая привязывает комментарии к строкам в двух отдельных областях документа:
- Первая область начинается со строки 12 (
'n':12
) и простирается на три строки ('l':3
). - Вторая область охватывает только строку 18 (
'n':18, 'l':1
`).
{
'r': 'REVISION_ID',
'a': [
{
'line':
{
'n': 12,
'l': 3,
}
},
{
'line':
{
'n': 18,
'l': 1,
}
}]
}
Замените REVISION_ID на head
или идентификатор конкретной ревизии.
Разрешить комментарий
Используйте метод comment.update
, чтобы установить для resolved
в ресурсе comments
значение true
, когда комментарий был обработан.
Когда ваше приложение устанавливает для resolved
значение true
, ваш пользовательский интерфейс должен указывать, что комментарий был рассмотрен. Например, ваше приложение может:
- Запретить дальнейшие ответы и затемнить все предыдущие ответы, а также исходный комментарий.
- Скрыть решенные комментарии.
Удалить комментарий
Используйте метод comments.delete
для удаления комментариев. Когда комментарий удаляется, Диск помечает ресурс комментария как "deleted": "true"
.
Список комментариев
Используйте метод comments.list
для вывода списка комментариев. Если вы хотите включить в результаты удаленные комментарии, установите для поля includedDeleted
значение true
.