Вопросы об API уведомлений

Нам нужно получать уведомления для конкретного пользователя. Под уведомлениями я подразумеваю элементы «Оповещения», которые появляются в мини-баре D2L (Оповещения о сообщениях, Оповещения об обновлениях, Оповещения о подписке).

Мы хотим интегрировать некоторые из этих пунктов в меню нашей CMS.

Я вижу, что D2L предлагает API уведомлений: http://docs.valence.desire2learn.com/res/user.html#id1

Вопрос 1. Является ли API уведомлений достаточно гибким, чтобы получать описанные выше элементы для пользователя?

Вопрос 2:

Чтобы поэкспериментировать с API уведомлений, я попытался использовать следующий вызов API: http://docs.valence.desire2learn.com/res/user.html#get--d2l-api-lp-%28D2LVERSION-version%29-notifications-instant-carriers-

И возникла ошибка 403.

В документации указано:

Эти маршруты зависят от внутренней службы, в которой активен инструмент уведомлений. Если в службе не активен инструмент уведомлений, то все обращения к этим маршрутам будут приводить к результатам ошибки авторизации (403).

Где в бэкэнде есть возможность переключать этот параметр? Эта настройка доступна где-нибудь в DOME?

Вопрос 3. Есть ли для элементов предупреждений статическая ссылка для просмотра этих элементов на D2L?

Например, я могу получить доступ к:

  • Пейджер — на example.desire2learn.com/d2l/lms/pager/messageList.d2l?ou=ORGID
  • Электронная почта — example.desire2learn.com/d2l/lms/email/frame.d2l?ou=ORGID

Но, похоже, нет способа получить доступ к элементам «Оповещения об обновлении» и «Оповещения о подписке» по статической ссылке. Они появляются только через AJAX, когда вы нажимаете на эти значки в мини-баре. Если я упускаю из виду, где находятся эти ссылки, пожалуйста, дайте мне знать.


person Ray    schedule 08.07.2013    source источник
comment
Спасибо за вопросы, Рэй. Я предпринимаю шаги, чтобы подготовить для них ответы, но это может занять некоторое время.   -  person Viktor Haag    schedule 09.07.2013
comment
Виктор, ценю ваши сообщения в Stackoverflow. Заранее спасибо за вашу помощь.   -  person Ray    schedule 10.07.2013


Ответы (1)


Ответ будет длинным, и, вероятно, это не то, что вы хотите услышать. Во-первых, существует четкое различие между «оповещениями» (предметами, которые появляются в мини-баре) и «уведомлениями». Notifications API просто предоставляет таблицу «Предпочтения мгновенных уведомлений», которую вы можете увидеть, открыв страницу настроек вашего пользователя Notifications (страница по адресу: http://yourLMS.edu/d2l/Notifications/Settings).

Типы сообщений, которые можно отправлять в качестве «уведомления», — это строки в таблице «Мгновенные уведомления»; «перевозчики» или конечные точки для них — это столбцы флажков. Notifications API предоставляет эту таблицу, позволяя вам получить ее текущее состояние и изменить настройку флажка в вершине уведомления messageTypeId и carrierId.

Итак, чтобы ответить на ваши конкретные вопросы:

Вопрос 1. Нет, API уведомлений в настоящее время не предоставляет никакого доступа к оповещениям, которые появляются в элементе управления мини-баром в веб-интерфейсе LMS.

Вопрос 2. Ваш код 403 может указывать на то, что ваш контекст вызывающего пользователя не имеет разрешения, необходимого для использования инструмента уведомлений: у вызывающего пользователя должна быть роль, которая предоставляет ему возможность Receive Instant Notifications -- без этого вызов API для получения списка операторов приводит к 403.

Если в вашей организации инструмент уведомлений полностью отключен, то, скорее всего, ни один пользователь не сможет увидеть свою страницу настроек уведомлений через веб-интерфейс, и для его повторного включения может потребоваться, чтобы ваша организация позвонила в службу поддержки D2L, чтобы включить его. назад: я не уверен, что администраторы клиентских организаций могут выбирать, какие инструменты включены, а какие выключены, без вмешательства службы поддержки.

Вопрос 3. Я не верю, что существует статическая страница для списков предупреждений об обновлениях и подписках.

person Viktor Haag    schedule 10.07.2013