Эта страница является
переводом страницы
Exchange. Перевод выполнен на 100%.
Работа с Microsoft Exchange
методы для работы с Microsoft Exchange
iRidium server предоставляет возможности для взаимодействия с существующими корпоративными системами, построенными на базе Microsoft Exchange Server — программном продукте для обмена почтовыми сообщениями и совместной работы с календарём и задачам. Можно подключить iRidium server к системе Microsoft Exchange для:
- получения событий в календаре
- получение контактов
- создания встреч
- удаления элементов
Работа с Microsoft Exchange доступна только через скрипт.
Драйвер поддерживает только Basic Authentication.
Методы
IR.CreateDevice()
Создание драйвера для работы с сервером Microsoft Exchange
Синтаксис
IR.CreateDevice(IR.DEVICE_EXCHANGE, name, host, port, login, password);
| на входе
|
значение
|
описание
|
| name
|
"ExchangeDriver"
|
type: string Имя создаваемого драйвера
|
| host
|
"192.168.0.12"
|
type: string IP адрес сервера Microsoft Exchange
|
| port
|
905
|
type: number Порт
|
| login
|
"admin"
|
type: string Логин от учетной записи Microsoft Exchange
|
| password
|
"admin"
|
type: string Пароль от учетной записи Microsoft Exchange
Драйвер поддерживает только Basic Authentication.
|
-
Пример
var device = IR.CreateDevice(IR.DEVICE_EXCHANGE, "ExchDriver", "192.168.0.12", 905, "admin", "admin");
IR.Log(device); // [object DevicePrototype]
В случае неуспешной попытки подключения к серверу Microsoft Exchange драйвер будет повторять попытки каждые 15 секунд.
.GetCalendar()
Получение событий календаря
Синтаксис
.GetCalendar({FirstDate, LastDate, Email, Callback});
| на входе
|
значение
|
описание
|
| FirstDate
|
"2016-09-16T07:00:00Z"
|
type: string дата и время начала события
|
| LastDate
|
"2016-11-16T07:00:00Z"
|
type: string дата и время окончания события
|
| Email
|
"admin@mycompany.ru"
|
type: string адрес электронной почты, к которому привязано событие
|
| Callback
|
function(eventList, email)
|
type: function Функция, в которую сервер передаст список событий
|
| eventList
|
{ ID: "AAMkA", ChangeKey: "DwAAAB", Start: "2016-09-16T07:00:00Z", End: "2016-11-16T07:00:00Z", Subject: "IT Conference", Organizer: "K. Johnson", Location: "London" }
|
type: object Список событий. Каждое событие имеет поля: ID (идентификатор элемента), ChangeKey (ключ элемента), Start (начало события), End (конец события), Subject (название встречи), Organizer (организатор), Location (место проведения)
|
| email
|
"admin@mycompany.ru"
|
type: string адрес электронной почты, к которому привязано событие
|
Пример
function GetFirstEventData(eventList, email)
{
IR.Log("event id: " + eventList.items[0].ID);
IR.Log("event key: " + eventList.items[0].ChangeKey);
IR.Log("event start: " + eventList.items[0].Start);
IR.Log("event end: " + eventList.items[0].End);
IR.Log("event subject: " + eventList.items[0].Subject);
IR.Log("event organizer: " + eventList.items[0].Organizer);
IR.Log("event location: " + eventList.items[0].Location);
}
device.GetCalendar({
FirstDate: "2016-09-16T07:00:00Z",
LastDate: "2016-09-20T07:00:00Z",
Email: "admin@admin.ru",
Callback: GetFirstEventData});
.GetContact()
Получение информации о контакте
Синтаксис
.GetContact({Find, Callback});
| на входе
|
значение
|
описание
|
| Find
|
"admin"
|
type: string поисковая строка (часть имени или электронной почты)
|
| Callback
|
function(contactList, find)
|
type: function Функция, в которую сервер передаёт список контактов
|
| contactList
|
{ Name: "L. Johnson", Company: "Iridium Ltd.", Email: "admin@admin.ru", Fax: "3435111222", BusinessPhone: "3435333222", Phone: "3435222333", MobilePhone: "+79001111111", Department: "R&D", Office: "General str. 1", JobTitle: "Trainer" }
|
type: object список контактов, которые подходят под поисковую строку. Каждый контакт имеет поля: Name (имя контакта), Company (компания), Email (почтовый адрес контакта), Fax (Факс контакта), BusinessPhone (рабочий телефон), Phone (телефон), MobilePhone (мобильный телефон), Department (отдел), Office (адрес офиса), JobTitle (Должность)
|
| find
|
"admin"
|
type: string Поисковая строка
|
Пример
function GetFirstContactData(contactList, find)
{
IR.Log("Contact Name: " + contactList.items[0].Name);
IR.Log("Contact Company: " + contactList.items[0].Company);
IR.Log("Contact Email: " + contactList.items[0].Email);
IR.Log("Contact Fax: " + contactList.items[0].Fax);
IR.Log("Contact BusinessPhone: " + contactList.items[0].BusinessPhone);
IR.Log("Contact Phone: " + contactList.items[0].Phone);
IR.Log("Contact MobilePhone: " + contactList.items[0].MobilePhone);
IR.Log("Contact Department: " + contactList.items[0].Department);
IR.Log("Contact Office: " + contactList.items[0].Office);
IR.Log("Contact JobTitle: " + contactList.items[0].JobTitle);
}
device.GetContact({Find: "admin", Callback: GetFirstContactData});
.CreateAppointment()
Создание встречи
Синтаксис
.CreateAppointment({Email, FirstDate, LastDate, Room, Subject, Callback});
| на входе
|
значение
|
описание
|
| Email
|
"admin@admin.ru"
|
type: string адрес электронной почты, к которому привязано событие
|
| FirstDate
|
"2016-09-16T07:00:00Z"
|
type: string дата и время начала события
|
| LastDate
|
"2016-09-20T07:00:00Z"
|
type: string дата и время окончания события
|
| Room
|
"526"
|
type: string Комната, в которой будет проходить встреча
|
| Subject
|
"Scrum meeting"
|
type: string Тема встречи
|
| Callback
|
function(appointment)
|
type: function функция, которая возвращает ответ от сервера
|
| appointment
|
{ ID: "AAMkA", ChangeKey: "DwAAAB" }
|
type: object объект, в котором хранится информация о созданной встрече: ID (идентификатор встречи), ChangeKey (ключ созданной встречи), Error (текст ошибки, если она есть)
|
Пример
function FeedbackInfo(appointment)
{
IR.Log("ID: " + appointment.ID);
IR.Log("ChangeKey: " + appointment.ChangeKey);
IR.Log("Error: " + appointment.Error);
}
device.CreateAppointment({
Email: "admin@admin.ru",
FirstDate: "2016-09-16T07:00:00Z",
LastDate: "2016-09-20T07:00:00Z",
Room: "520",
Subject: "Scrum meeting",
Callback: FeedbackInfo});
.DeleteItem()
Удаление элемента
Синтаксис
.DeleteItem({ID, ChangeKey, Callback});
| на входе
|
значение
|
описание
|
| ID
|
"AAMkA"
|
type: string идентификатор элемента
|
| ChangeKey
|
"DwAAAB"
|
type: string ключ элемента
|
| Callback
|
function(itemStatus)
|
type: function функция, которая вернёт ответ от сервера
|
| itemStatus
|
{ Deleted: true } или { Error: "ResponseCode: ErrorNameResolutionNoResults, MessageText: No results were found." }
|
type: object объект, в котором хранится информация об удалённом элементе: Deleted (флаг удаления), Error (текст ошибки, если она есть)
|
Пример
function DeletingFeedback(itemStatus){
if (itemStatus.Deleted)
{
IR.Log("Deleted!");
}
else
{
IR.Log("Error: " + itemStatus.Error);
}
}
device.DeleteItem({ID: "AAMkA", ChangeKey: "DwAAAB", Callback: DeletingFeedback});
Параметры драйвера
SSL
| SSL
|
1
|
type: number Метод шифрования сообщений между iRidium server и Microsoft Exchange Server:
0 - без шифрования (по умолчанию),
1 - TLS v1.2 (рекомендуется),
2 - SSL 2.3,
3 - SSL 3.0.
|
device.SetParameters({"SSL": 1}); // TLS encryption