Недавно мы получили несколько вопросов от клиентов о возможности программного управления собраниями своей команды. В ходе этого процесса мы выявили несколько болевых точек и придумали несколько решений, которые помогут вам упростить задачу. В этой статье я хотел бы осветить эту тему и разделю ее на несколько частей:
- Как получить доступ к чужому ресурсу встреч?
- Как позволить другим управлять вашими встречами?
- Как программно управлять собраниями других людей?
Как получить доступ к чужому ресурсу встреч?
Можно ли сделать это? Мы знаем, что для доступа к своему собственному ресурсу запланированных встреч вы просто вызываете API:
HTTP GET /restapi/v1.0/account/{accountId}/extension/{your own extensionId}/meeting
Чтобы получить доступ к чужому ресурсу встреч, вы можете спросить, можно ли просто сделать это:
HTTP GET /restapi/v1.0/account/{accountId}/extension/{other's extensionId}/meeting
Ответ: НЕТ. Вам не разрешен доступ к чужим ресурсам встреч, даже если вы являетесь суперадминистратором. Это сделано специально, дизайн может измениться в будущем на основе отзывов пользователей. Но пока, если вы попытаетесь получить доступ к ресурсам других встреч, как указано выше, вы получите следующее сообщение об ошибке:
"In order to call this API endpoint, user needs to have [Meetings] permission"
Сообщение об ошибке вводит в заблуждение. Основная причина не в том, что у вас нет разрешения на «[Встречи]», а в том, что у вас нет разрешения на доступ к собраниям других людей. Существует внутренний билет RingCentral для отслеживания этого вводящего в заблуждение сообщения об ошибке, и мы скоро его исправим.
Есть ли у вас официально поддерживаемый способ управления собраниями других людей и наоборот? Ответ: ДА, продолжайте читать.
Как позволить другим управлять вашими встречами?
Пользователи, которые хотят, чтобы их собраниями управляли другие, могли войти в сеть RingCentral Service Web (https://service.devtest.ringcentral.com для песочницы и https://service.ringcentral.com для производства). Перейдите в Настройки, Сведения о пользователе, Настройки и разрешения, найдите раздел Назначить встречи для меня:
Нажмите кнопку «Изменить», и вы сможете указать, кто может планировать встречи для вас:
Если кто-то позволяет вам планировать собрания от его имени, вы можете сделать это, выполнив следующие действия: войдите в сеть RingCentral Service, перейдите в Инструменты, Мои собрания, нажмите кнопку «Запланировать новое собрание»:
На странице расписания встречи внизу есть раскрывающийся список «Запланировать на»:
После того, как встреча будет запланирована, оба пользователя смогут ее увидеть. Если встреча запланирована для других, имя организатора будет показано в списке:
Более того, оба пользователя могут редактировать или удалять встречу. Таким образом, встречей могут управлять они оба.
Как программно управлять собраниями других людей?
Можем ли мы сделать вышеперечисленное программно? Ответ: ДА. И это особенно полезно, когда вы хотите создать приложение для управления всеми собраниями в вашей организации. Давайте подумаем, как назначить себе встречу через API:
HTTP POST /restapi/v1.0/account/{accountId}/extension/{my extensionId}/meeting
Вам может быть интересно, можно ли запланировать встречу для других, вы можете просто сделать это:
HTTP POST /restapi/v1.0/account/{accountId}/extension/{other's extensionId}/meeting
Ответ - НЕТ, хотя подход кажется вполне разумным. Потому что по замыслу вам нужно указать организатора встречи в теле HTTP-запроса:
"method": "post", "baseURL": "https://platform.ringcentral.com", "url": "/restapi/v1.0/account/~/extension/~/meeting", "data": "{\"topic\":\"test meeting\",\"meetingType\":\"Scheduled\",\"schedule\":{\"startTime\":\"2020-05-02T22:21:24.551Z\",\"durationInMinutes\":30,\"timeZone\":{\"id\":\"58\"}},\"host\":{\"id\":\"590490017\"}}", "headers": { ... }
После создания собрания и создатель собрания, и организатор собрания смогут увидеть это собрание в своем списке собраний, и оба они смогут получить собрание по идентификатору. Обратите внимание, что при работе с API собраний вы всегда должны указывать свой собственный идентификатор расширения в URI конечной точки API:
HTTP GET /restapi/v1.0/account/{accountId}/extension/{your extensionId}/meeting/{meetingId}
Даже если встреча запланирована с другим человеком в качестве организатора, вы все равно указываете свой собственный идентификатор расширения при вызове API, в настоящее время это сделано специально. Следующее просто НЕ работает:
HTTP GET /restapi/v1.0/account/{accountId}/extension/{host's extensionId}/meeting/{meetingId}
И создатель встречи, и организатор встречи могут редактировать встречу через API:
HTTP PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/{meetingId}
И им обоим разрешено удалить встречу:
HTTP DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/{meetingId}
После подтверждения вышеизложенного теоретически можно настроить одно расширение для управления собраниями всех расширений в вашей организации.
Резюме
На этом статья завершается, в ней я рассказал об управлении собраниями, особенно о том, как управлять собраниями других людей. Я также рассмотрел детали от конфигурации до кодирования, которые должны были предоставить вам достаточно информации для создания вашей собственной стратегии управления встречами.
Чтобы узнать больше о других функциях, обязательно посетите наш сайт для разработчиков, а если у вас возникнут какие-либо проблемы, обязательно посетите наш форум разработчиков.
Хотите быть в курсе и узнавать о новых API и функциях? Присоединяйтесь к нашей программе Game Changer и получайте отличные награды за развитие своих навыков и изучение RingCentral больше!