Часто задаваемые вопросы о Сервере документов:
Редактирование вопросов

Свернуть все

Что такое «Обработчик обратного вызова» и зачем он мне нужен?
Служба редактирования документов информирует службу хранения документов о статусе редактирования документа и отправляет ответ со всеми необходимыми данными через callbackUrl, который указывается в конфигурационном файле следующим образом:

var docEditor = new DocsAPI.DocEditor("placeholder", {
    "editorConfig": {
        "callbackUrl": "https://example.com/url-to-callback.ashx"
    },
    ...
});

Здесь https://example.com/url-to-callback.ashx — это адрес специального обработчика, который может обрабатывать ответ службы редактирования документов и ответ с кодом состояния «ошибка»: 0. Этот обработчик может быть написан на выбранном вами языке программирования.

Все параметры, которые можно передать обработчику обратного вызова, и их описание можно найти на этой странице.

Также есть примеры реализации этого обработчика на нескольких языках программирования: .Net (C#), Java, Node.js, PHP, Ruby..

Что такое параметр «document.key»?
Параметр document.key — это уникальный идентификатор документа, который помогает выделить документ среди других и однозначно идентифицировать его службой редактирования.

При каждом изменении документа параметр document.key также необходимо генерировать заново, так как документы с известным ключом берутся из кеша.

Более подробная информация об этом параметре доступна здесь.

Как определить, в каком режиме открывать файл (просмотр или редактирование)?
Для определения режима открытия документа используется параметр editorConfig.mode. Он может принимать два значения:

  • edit используется по умолчанию и позволяет открыть файл документа для редактирования (если соответствующие параметры document.permissions также установлены в true);
  • view позволяет открыть документ для просмотра с отключенной основной панелью инструментов и редактированием..

Установите режим, используя раздел editorConfig файла конфигурации:

var docEditor = new DocsAPI.DocEditor("placeholder", {
    "editorConfig": {
        "mode": "edit",
        ...
    },
    ...
});

Более подробная информация об этом параметре доступна здесь.