Начало работы с веб-службой Adobe Connect

Изучите ключевые понятия и основные принципы, чтобы подготовиться к работе с API-интерфейсами веб-службы Adobe Connect.

Чтобы начать работу с веб-службой Adobe Connect, необходимо понимать следующие три ключевых понятия:

  • Субъекты, которые являются пользователями и группами

  • Объекты содержимого (SCO), которые представляют собрания, курсы и практически все содержимое, которое можно создать в Adobe Connect. Объекты SCO совместимы с отраслевым стандартом спецификации эталонной модели объекта с коллективно используемой информацией (SCORM), и их можно использовать в системе управления обучением (LMS).

  • Разрешения, которые определяют, как субъекты могут действовать в отношении объектов

В этой главе описываются основные задачи, которые можно выполнять с помощью веб-служб независимо от того, для каких приложений Adobe Connect вы приобрели лицензию. Описание многих задач предполагает, что вы выполняете их в браузере. Чтобы выполнить вызов из приложения, преобразуйте запрос XML в язык, с которым вы работаете (пример такого преобразования в Java™ см. в разделе Отправка запросов XML).

Поиск идентификатора principal-id

Субъект представляет собой пользователя или группу, для которой определены разрешения на взаимодействие с SCO на сервере. Можно создать пользователей и группы для своей организации и изменить разрешения для них.

В Adobe Connect также есть встроенные группы: «Администраторы», «Администраторы с ограниченным набором прав», «Авторы», «Менеджеры по обучению», «Менеджеры мероприятий», «Учащиеся», «Организаторы собрания» и «Организаторы семинаров». Можно добавлять пользователей и группы во встроенные группы, однако нельзя изменять разрешения встроенных групп.

Примечание.

Доступные встроенные группы зависят от характеристик вашей учетной записи.

Каждый пользователь и группа Adobe Connect имеет идентификатор principal-id. В некоторых вызовах API идентификатор principal-id называется group-id или user-id, чтобы отличить его от других значений. Значение идентификатора, который идентифицирует пользователя или группу, всегда одинаково и не зависит от имени.

Получение principal-id для пользователя или группы

  1. Вызовите список субъектов, применяя фильтр:

     https://example.com/api/xml?action=principal-list&filter-name=jazz doe

    Рекомендуется использовать filter-name, filter-login или filter-email для точного совпадения. Используйте значение filter-like-name с осторожностью, так как оно может влиять на производительность сервера.

  2. Анализ элементов субъекта в ответе для principal-id:

     <principal principal-id=&quot;2006282569&quot; account-id=&quot;624520&quot; type=&quot;user&quot; 
             has-children=&quot;false&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot;> 
         <name>jazz doe</name>  
         <login>jazzdoe@example.com</login>  
         <email>jazzdoe@newcompany.com</email>  
     </principal>

Получение principal-id текущего пользователя

  1. Вызов common-info после входа пользователя в систему:

     https://example.com/api/xml?action=common-info
  2. Анализ элементов пользователя в ответе для user-id:

     <user user-id=&quot;2007124930&quot; type=&quot;user&quot;> 
             <name>jazz doe</name>  
             <login>jazz@doe.com</login>  
     </user>

    Здесь principal-id называется user-id, поскольку этот идентификатор всегда представляет пользователя , который прошел проверку подлинности в Adobe Connect. Группа не может выполнить вход на сервер. В других операциях можно передать значение user-id как principal-id .

Создание списка субъектов или гостей

Субъект с типом user является зарегистрированным пользователем Adobe Connect, а пользователь с типом guest подключился к комнате собрания как гость. Сервер получает информацию о госте и предоставляет ему principal-id.

Создание списка всех субъектов на сервере

  1. Вызов principal-list без параметров:

     https://example.com/api/xml?action=principal-list

    Этот вызов возвращает всех пользователей Adobe Connect, поэтому следует ожидать ответа большого размера.

  2. Проанализируйте элементы субъекта в ответе для выбранных значений:

     <principal principal-id=&quot;2006282569&quot; account-id=&quot;624520&quot; type=&quot;user&quot; 
             has-children=&quot;false&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot;> 
         <name>jazz doe</name>  
         <login>jazzdoe@example.com</login>  
         <email>jazzdoe@newcompany.com</email>  
     </principal>

Создание списка всех гостей на сервере

  1. Вызовите report-bulk-users, применив фильтрацию по типу гостя:

     https://example.com/api/xml?action=report-bulk-users&filter-type=guest
  2. Выполните анализ элементовстроки в ответе:

     <row principal-id=&quot;51157227&quot;> 
         <login>joy@acme.com</login>  
         <name>joy@acme.com</name>  
         <email>joy@acme.com</email>  
         <type>guest</type>  
     </row>

Создание списка всех пользователей, которые подчинены конкретному менеджеру

При вызове principal-info со значением principal-id в ответе фигурирует субъект. Если субъект является пользователем, у которого есть менеджер, назначенный в Adobe Connect, в ответе также отображаются данные о менеджере субъекта в элементе manager:

 <manager account-id=&quot;624520&quot; disabled=&quot;&quot; has-children=&quot;false&quot; is-hidden=&quot;false&quot; is-primary=&quot;false&quot; principal-id=&quot;2006282569&quot;        type=&quot;user&quot;> 
     <ext-login>jazzdoe@example.com</ext-login>  
     <login>jazzdoe@example.com</login>  
     <name>jazz doe</name>  
     <email>joy@example.com</email>  
     <first-name>jazz</first-name>  
     <last-name>doe</last-name>  
     <x-2006293620>23456</x-2006293620>  
     <x-2007017651>chicago</x-2007017651>  
 </manager>

Можно использовать идентификатор principal-id менеджера с principal-list для создания списка всех пользователей, назначенных менеджеру.

  1. Выполните вызов principal-list, применив фильтрацию по manager-id:

     https://example.com/api/xml?action=principal-list    &filter-manager-id=2006282569
  2. Выполните анализ ответа для элементов субъекта:

     <principal principal-id=&quot;2006258745&quot; account-id=&quot;624520&quot; type=&quot;user&quot; has-children=&quot;false&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot; manager-id=&quot;2006282569&quot;> 
         <name>Pat Lee</name>  
         <login>plee@mycompany.com</login>  
         <email>plee@mycompany.com</email>  
     </principal>

Создание пользователей

Чтобы создать нового пользователя, требуются разрешения уровня администратора. Adobe рекомендует создать пользователя, который принадлежит к группе admins для вашего приложения, чтобы использовать вызовы API, для которых требуются разрешения уровня администратора.

Создание нового пользователя и отправка приветственного сообщения по электронной почте

  1. Выполните вход в приложение с правами администратора.

    См. раздел Вход в систему из приложения, где описываются различные способы входа.

  2. Выполните вызов principal-update, используя как минимум следующие параметры:

     https://example.com/api/xml?action=principal-update 
             &first-name=jazz&last-name=doe&login=jazz99@doe.com&password=hello 
             &type=user&send-email=true&has-children=0&email=jazz99@doe.com

    Тип должен иметь значение user, параметр has-children должен быть равен 0 или false, параметр send-email должен иметь значение true, а поле email должно содержать допустимый адрес электронной почты.

    Сервер отправляет на электронный адрес пользователя приветственное сообщение, где приведены данные для входа.

  3. Выполните анализ элемента субъекта в ответе для principal-id пользователя:

     <principal type=&quot;user&quot; principal-id=&quot;2007184341&quot; has-children=&quot;0&quot; 
             account-id=&quot;624520&quot;> 
         <login>jammdoe@example.com</login>  
         <ext-login>jammdoe@example.com</ext-login>  
         <name>jamm doe</name>  
     </principal>

Создание нового пользователя без использования адреса электронной почты в качестве идентификатора для входа

  1. На портале Adobe Connect Central перейдите в раздел «Администрирование» > «Пользователи и группы» > «Редактирование политик, регулирующих учетные данные». Убедитесь в том, что для параметра «Использовать электронный адрес в качестве имени для входа» установлено значение «Нет».

  2. Выполните вход в приложении, используя учетные данные администратора.

  3. Выполните вызов principal-update, чтобы создать нового пользователя, передавая параметры login и email:

     https://example.com/api/xml?action=principal-update&first-name=jazz 
         &last-name=doe&login=jazz&email=jazzdoe@company.com 
         &password=nothing&type=user&has-children=0
  4. Выполните анализ principal-id нового пользователя:

     <principal type=&quot;user&quot; principal-id=&quot;2007184341&quot; has-children=&quot;0&quot; 
                 account-id=&quot;624520&quot;> 
         <login>jazzdoe@example.com</login>  
         <ext-login>jazzdoe@example.com</ext-login>  
         <name>jazz doe</name>  
     </principal>

    В ответе значение ext-login содержит то же значение, что и параметр login по умолчанию, до тех пор пока пользователь не выполнит успешный вход, используя внешнюю проверку подлинности (см. раздел Вход с использованием проверки подлинности заголовка HTTP).

Обновление пользователей

После создания пользователей зачастую требуется обновить их данные. Можно обновить стандартные поля, которые Adobe Connect определяет для пользователей путем вызова principal-update с principal-id пользователя. К стандартным полям относятся email, login, first-name и last-name.

Если вы определили пользовательские поля для субъекта, используйте act-field-update, чтобы обновить их.

Вам нужны разрешения администратора для обновления пользователей, поэтому ваше приложение должно сначала выполнить вход с учетными данными пользователя в группу admins. Вы не можете выполнить вход с учетными данными пользователя, а затем разрешить пользователю обновить его профиль.

Обновление стандартных данных пользователя

  1. Выполните вход с правами администратора.

  2. Вызовитеprincipal-list, применяя фильтр , чтобы получить principal-id пользователя (см. Поиск значения principal-id).

  3. Вызовите principal-update, чтобы обновить пользователя:

     https://example.com/api/xml?action=principal-update 
         &principal-id=2006282569&email=jazzdoe@newcompany.com
  4. Выполните анализ ответа для кода статуса ok.

Обновите значения пользовательских полей для пользователя.

  1. Выполните вход с правами администратора.

  2. Вызовите custom-fields, чтобы получить значение field-id для пользовательского поля:

     https://example.com/api/xml?action=custom-fields
  3. Получите значения principal-id, sco-id или account-id, которые требуется обновить.

    Это значение является идентификатором acl-id, который вы передаете в acl-field-update.

  4. Вызовите acl-field-update, чтобы обновить значение пользовательского поля:

     https://example.com/api/xml?action=acl-field-update&field-id=x-2007396975&acl-id=2006258745&value=44444

Создание пользовательских полей

Пользовательские поля представляют собой дополнительные поля данных, которые вы определяете. Можно определить до восьми пользовательских полей в субъекте или SCO, используя метод custom-field-update.

После определения пользовательского поля можно по умолчанию задать его значение путем редактирования на портале Adobe Connect Central или путем вызова custom-field-update.

Чтобы указать, что значение можно обновить только посредством API, вызовитеcustom-field-update с параметром object-type=object-type-read-only.

Определите пользовательское поле и задайте его для пользователя.

  1. Для начала создайте поле, используя custom-field-update:

     https://example.com/api/xml?action=custom-field-update 
         &object-type=object-type-principal&permission-id=manage 
         &account-id=624520&name=Location&comments=adobe%20location 
         &field-type=text&is-required=true&is-primary=false&display-seq=9

    Поле name определяет, как имя поля будет отображаться в приложении, поэтому следует использовать соответствующее написание и капитализацию. Пользовательское поле в этом примере определяется для всех субъектов Adobe Connect.

  2. Выполните анализ элемента field в ответе для field-id:

     <field field-id=&quot;2007184366&quot; object-type=&quot;object-type-principal&quot; 
             display-seq=&quot;9&quot; account-id=&quot;624520&quot; is-primary=&quot;false&quot;  
             permission-id=&quot;manage&quot; is-required=&quot;true&quot; field-type=&quot;text&quot;> 
     <comments>test</comments>  
     <name>Country</name>  
     </field>
  3. Получите principal-id пользователя (см. раздел Поиск значения principal-id).

  4. Вызовите acl-field-update, чтобы задать значение поля, передав field-id, principal-id пользователя как acl-id, а также значение:

     https://example.com/api/xml?action=acl-field-update 
         &acl-id=2006258745&field-id=2007017474&value=San%20Francisco
  5. Выполните анализ ответа для кода статуса ok.

Создание групп

Чтобы добавить пользователей в группы, необходимо вызватьprincipal-update с правами администратора приложения.

Добавление пользователя в группу

  1. Выполните вход в систему с правами администратора приложения.

  2. (Необязательно) Если пользователь еще не существует, создайте его с помощью principal-update.

     https://example.com/api/xml?action=principal-update 
         &first-name=jazzwayjazz&last-name=doe&login=jazz@doe.com 
         &password=nothing&type=user&has-children=0
  3. (Необязательно) Выполните анализ ответа для нового principal-id пользователя.

  4. Если пользователь уже существует, вызовите principal-list, чтобы получить principal-id пользователя:

     https://example.com/api/xml?action=principal-list&filter-type=user
  5. Выполните анализ ответа для principal-id:

     <principal principal-id=&quot;5611980&quot; account-id=&quot;624520&quot; type=&quot;user&quot;  
             has-children=&quot;false&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot;> 
         <name>Joy Black</name>  
         <login>joy@acme.com</login>  
         <email>joy@acme.com</email>  
     </principal>
  6. Вызовите principal-list еще раз, чтобы получить principal-id группы:

     https://example.com/api/xml?action=principal-list&filter-type=group
  7. Вызовите group-membership-update со значениемis-member=true, чтобы добавить пользователя в группу:

     https://example.com/api/xml?action=group-membership-update 
         &group-id=4930296&principal-id=2006258745&is-member=true
    • principal-id является значением principal-id пользователя.

    • group-id является значением principal-id группы.

    • Параметр is-member должен иметь значение true.

Проверка включения конкретного пользователя в группу

  1. Вызовите principal-list со значением group-id, filter-is-member и фильтром, идентифицирующим субъект:

     https://example.com/api/xml?action=principal-list&group-id=624523 
             &filter-is-member=true&filter-like-name=bob
  2. Выполните анализ элемента субъекта в ответе. Успешный ответ имеет следующий вид:

     <principal-list> 
         <principal principal-id=&quot;624660&quot; account-id=&quot;624520&quot; type=&quot;user&quot;  
                 has-children=&quot;false&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot;> 
             <name>Bill Jones</name>  
             <login>bjones@acme.com</login>  
             <email>bjones@acme.com</email>  
             <is-member>true</is-member>  
         </principal> 
     </principal-list>

    Если пользователь не является участником группы, элементprincipal-list будет пустым:

     <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?>  
     <results> 
         <status code=&quot;ok&quot; />  
         <principal-list />  
     </results>

Проверка пользователей, включенных в группу

  1. Чтобы получить значение principal-id группы, вызовите principal-list с фильтрами:

     https://example.com/api/xml?action=principal-list&filter-type=group 
             &filter-name=developers

    При использовании значений filter-type и filter-name principal-list будет возвращать уникальное совпадение.

  2. Выполните анализ ответа для principal-id:

     <principal principal-id=&quot;2007105030&quot; account-id=&quot;624520&quot;  
             type=&quot;group&quot; has-children=&quot;true&quot; is-primary=&quot;false&quot;  
             is-hidden=&quot;false&quot;> 
         <name>developers</name>  
         <login>developers</login>  
         <is-member>false</is-member>  
     </principal>
  3. Вызовите principal-list еще раз, используя principal-id как group-id и filter-is-member=true:

     https://example.com/api/xml?action=principal-list&group-id=2007105030 
             &filter-is-member=true
  4. Выполните анализ ответа для элементов субъекта:

     <principal principal-id=&quot;5698354&quot; account-id=&quot;624520&quot; type=&quot;group&quot;  
                 has-children=&quot;true&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot;> 
         <name>Bob Jones</name>  
         <login>bobjones@acme.com</login>  
         <is-member>true</is-member>  
     </principal>

Создание списка всех групп, к которым принадлежит пользователь

  1. Вызовите principal-list со значением principal-id пользователя и filter-is-member=true:

     https://example.com/api/xml?action=principal-list 
         &principal-id=2006258745&filter-is-member=true
  2. Выполните анализ ответа для элементов субъекта:

     <principal principal-id=&quot;5698354&quot; account-id=&quot;624520&quot; type=&quot;group&quot;  
                 has-children=&quot;true&quot; is-primary=&quot;false&quot; is-hidden=&quot;false&quot;> 
         <name>Bob Jones</name>  
         <login>bobjones@acme.com</login>  
         <is-member>true</is-member>  
     </principal>

Поиск объектов SCO

Все объекты в Adobe Connect являются объектами общего содержимого (SCO). Термин общий пришло из систем управления обучением , где содержимое объединено в курсы или учебные программы и совместно используется ими.

Объект SCO на сервере может быть любым объектом содержимого, который объединен вместе с другими объектами содержимого в курс или учебную программу. Курсы, учебные программы, презентации и другие типы содержимого относятся к объектам SCO. Собрания, мероприятия, папки, деревья, ссылки, графические файлы и другие объекты также являются объектами SCO.

Каждый объект SCO имеет уникальный целочисленный идентификатор, так называемый sco-id. sco-id является уникальным в пределах всего сервера. В учетной записи, размещенной в Adobe Connect, значениеsco-id является уникальных во всех учетных записях.

Каждый объект SCO также имеет тип, например, content, course, meeting и т. д. Можно просмотреть значения sco-id и type в ответе от операции sco-info и других операций:

 <sco account-id=&quot;624520&quot; disabled=&quot;&quot; display-seq=&quot;0&quot; folder-id=&quot;2006258747&quot; 
         icon=&quot;producer&quot; lang=&quot;en&quot; max-retries=&quot;&quot; sco-id=&quot;2006334909&quot; 
         source-sco-id=&quot;&quot; type=&quot;content&quot; version=&quot;1&quot;>

Характеристики объектов SCO

При изучении ответов XML в рамках различных вызовов вы отмечаете дополнительные характеристики объектов SCO:

  • Идентификатор SCO называется sco-id в некоторых операциях, однако он также может называться folder-id, acl-id или иметь другое имя в других операциях. Это все равно тот же самый уникальный идентификатор.

  • Различные субъекты (пользователи или группы) могут иметь доступ к каждому из объектов SCO. Конкретные субъекты, которые могут иметь доступ к объекту SCO, определяются в списках контроля доступа (ACL).

  • Каждый объект SCO имеет уникальный URL-адрес из двух частей: доменное имя (например, http://example.com) и URL-путь (например, /f2006123456/). Можно выполнить конкатенацию, чтобы образовать полный URL-адрес, который осуществляет доступ к объекту SCO.

  • Каждый объект SCO имеет путь навигации, который описывает его расположение в иерархии папки.

  • Каждый объект SCO имеет разрешение, определяемое для каждого субъекта, который может иметь к нему доступ.

  • Некоторые объекты SCO имеют поля описания, которые представляют собой текстовые строки , где указывается информация об объекте SCO.

Чаще всего вам требуется найти идентификатор объекта SCO или какие-либо данные о нем. Объекты SCO упорядочены в конкретной иерархической структуре папок, где папки имеют имена, указывающие, относятся ли они к верхнему уровню, содержат ли они общее содержимое или шаблоны или пользовательское содержимое и шаблоны.

При вызове sco-shortcuts возвращается список папок. Обратите внимание, что папки относятся к разным типам:

 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?>  
 <results> 
     <status code=&quot;ok&quot; />  
     <shortcuts> 
         <sco tree-id=&quot;624530&quot; sco-id=&quot;2006258751&quot; type=&quot;my-meeting-templates&quot;> 
             <domain-name>http://example.com</domain-name>  
         </sco> 
         <sco tree-id=&quot;624530&quot; sco-id=&quot;2006258750&quot; type=&quot;my-meetings&quot;> 
             <domain-name>http://example.com</domain-name>  
         </sco> 
         <sco tree-id=&quot;624529&quot; sco-id=&quot;624529&quot; type=&quot;meetings&quot;> 
             <domain-name>http://example.com</domain-name>  
         </sco> 
         <sco tree-id=&quot;624530&quot; sco-id=&quot;624530&quot; type=&quot;user-meetings&quot;> 
             <domain-name>http://example.com</domain-name>  
         </sco> 
         ... 
     </shortcuts> 
 </results>

Папки, показанные в этом примере, относятся к собраниям, однако папки для остальных типов SCO следуют тому же шаблону. В каждой папке хранятся определенные типы объектов с конкретными разрешениями для доступа, например:

содержимое, курсы, собрания, мероприятия, семинары

Это общие папки, например «Общие собрания», «Общее обучение» и т. д. Администратор Adobe Connect имеет доступ к этой папке. Администратор может назначать разрешения для управления любым пользователям, однако только участники встроенной группы, связанные с папкой, могут создавать в ней новое содержимое или собрания.

user-content, user-meetings, user-courses, user-events

Каждая из этих папок содержит папку для каждого пользователя, который имеет разрешения для создания содержимого в ней (например, одна папка для каждого организатора собрания или разработчика обучения).

my-courses, my-events, my-meetings, my-meeting-templates, my-content

Пользователи создают собственное содержимое в этих папках и имеют разрешения для управления содержимым. Например, организаторы собрания создают собрания в папке my-meetings и имеют разрешения для управления этими собраниями.

shared-meeting-templates

Эта папка находится в папке «Общие собрания», в ней содержатся шаблоны собраний, и она наследует разрешения от папки «Общие собрания».

Можно создать список содержимого любой папки, чтобы получить информацию о конкретном объекте SCO. Если требуется выполнить поиск объекта SCO, но у вас нет sco-id, можно использовать sco-shortcuts и sco-expanded-contents для перехода между папками. Не используйте sco-search, поскольку этот метод возвращает только определенные типы объектов SCO.

Поиск объекта SCO, если неизвестен sco-id

  1. Вызовите sco-shortcuts, чтобы получить список корневых папок в Adobe Connect:

     https://example.com/api/xml?action=sco-shortcuts
  2. Выполните анализ ответа для типа корневой папки, которая логически должна содержать объект SCO, напримерmy-courses, если речь о курсе, созданном пользователем.

  3. Выполните анализ результирующего элемента sco для sco-id:

     <sco tree-id=&quot;4930295&quot; sco-id=&quot;2006258748&quot; type=&quot;my-courses&quot;> 
         <domain-name>http://example.com</domain-name>  
     </sco>
  4. Создайте вызов в адрес sco-expanded-contents, чтобы создать список содержимого папки, по возможности добавив фильтр по точному совпадению:

     https://example.com/api/xml?action=sco-expanded-contents 
         &sco-id=2006258748&filter-name=All About Web Communities

    Доступно несколько фильтров:

    • Фильтр по точному совпадению по значению name или url-path (например, filter-name или filter-url-path), если известно имя или URL-адрес объекта SCO.

    • Фильтр по дате с условием greater-than или less-than (filter-gt-date или filter-lt-date) по значениям date-begin, date-created или date-modified, если известна одна из этих дат.

    • Фильтр по части имени (например, filter-like-name), если неизвестно точное имя объекта SCO. Однако использование этого фильтра может повлиять на производительность системы.

  5. Выполните анализ ответа для sco-id:

     <sco depth=&quot;1&quot; sco-id=&quot;2006745671&quot; folder-id=&quot;2006258748&quot; type=&quot;folder&quot; 
             icon=&quot;folder&quot; lang=&quot;en&quot; source-sco-id=&quot;2006745669&quot; display-seq=&quot;0&quot; 
             source-sco-type=&quot;14&quot;> 
         <name>A Day in the Life Resources</name>  
         <url-path>/f28435879/</url-path>  
         <date-created>2006-06-12T14:47:59.903-07:00</date-created>  
         <date-modified>2006-06-12T14:47:59.903-07:00</date-modified>  
     </sco>

Получение информации об объекте SCO

  1. Выполните вызов sco-info со значением sco-id:

     https://example.com/api/xml?action=sco-info&sco-id=2006745669
  2. Выполните анализ для значения name, url-path или любого другого значения:

     <sco account-id=&quot;624520&quot; disabled=&quot;&quot; display-seq=&quot;0&quot;  
             folder-id=&quot;2006258748&quot; icon=&quot;curriculum&quot; lang=&quot;en&quot; max-retries=&quot;&quot; 
             sco-id=&quot;2006745669&quot; source-sco-id=&quot;&quot; type=&quot;curriculum&quot; version=&quot;0&quot;> 
         <date-begin>2006-06-12T14:45:00.000-07:00</date-begin>  
         <date-created>2006-06-12T14:47:59.903-07:00</date-created>  
         <date-modified>2006-06-12T14:47:59.903-07:00</date-modified>  
         <name>A Day in the Life</name>  
         <url-path>/day/</url-path>  
     </sco>

Формирование URL-адреса для SCO

  1. Вызов sco-shortcuts:

     https://example.com/api/xml?action=sco-shortcuts
  2. Выполните анализ ответа для значения domain-name в любом элементе sco:

     <sco tree-id=&quot;624530&quot; sco-id=&quot;2006258750&quot; type=&quot;my-meetings&quot;> 
         <domain-name>http://example.com</domain-name>  
     </sco>
  3. Вызовите sco-info со значением sco-id:

     https://example.com/api/xml?action=sco-info&sco-id=2006334909
  4. Выполните анализ ответа для url-path:

     <sco account-id=&quot;624520&quot; disabled=&quot;&quot; display-seq=&quot;0&quot;  
             folder-id=&quot;2006258747&quot; icon=&quot;producer&quot; lang=&quot;en&quot;  
             max-retries=&quot;&quot; sco-id=&quot;2006334909&quot; source-sco-id=&quot;&quot;  
             type=&quot;content&quot; version=&quot;1&quot;> 
         <date-created>2006-05-11T12:00:02.000-07:00</date-created>  
         <date-modified>2006-05-16T15:22:25.703-07:00</date-modified>  
         <name>Test Quiz</name>  
         <url-path>/quiz/</url-path>  
         <passing-score>10</passing-score>  
         <duration>15100.0</duration>  
         <section-count>6</section-count>  
     </sco>

    url-path содержит косую черту и в начале, и в конце. Можно взять значениеurl-path из report-my-meetings, report-my-training или из любого вызова, который это значение возвращает.

  5. Выполните конкатенацию url-path с domain-name:

     http://example.com/f2006258748/

Загрузка файлов

Можно загрузить ZIP-файлы из Adobe Connect на локальный компьютер пользователя. ZIP-файл является объектом SCO. Чтобы загрузить его, необходимо сформировать URL-адрес загрузки для ZIP-файла, который имеет следующий вид:

 http://server-domain/url-path/output/url-path.zip?download=zip

Возможно, вам уже известно доменное имя сервера (например, example.com). Если нет, его можно получить путем вызова sco-shortcuts.

Загрузка ZIP-файла с сервера

  1. Вызов sco-shortcuts:

     https://example.com/api/xml?action=sco-shortcuts
  2. Извлеките значение domain-name из ответа:

     http://example.com
  3. Вызовите sco-info со значением sco-id ZIP-файла:

     https://example.com/api/xml?action=sco-info&sco-id=2006258747

    Объектом SCO является весь ZIP-файл.

  4. Выполните анализ ответа для элемента url-path:

     <sco account-id=&quot;624520&quot; disabled=&quot;&quot; display-seq=&quot;0&quot; folder-id=&quot;624522&quot; 
             icon=&quot;folder&quot; lang=&quot;en&quot; max-retries=&quot;&quot; sco-id=&quot;2006258747&quot;  
             source-sco-id=&quot;&quot; type=&quot;folder&quot; version=&quot;1&quot;> 
         <date-created>2006-04-18T10:21:47.020-07:00</date-created>  
         <date-modified>2006-04-18T10:21:47.020-07:00</date-modified>  
         <name>joy@acme.com</name>  
         <url-path>/f124567890/</url-path>  
     </sco>
  5. Сформируйте URL-адрес загрузки, например:

     https://example.com/quiz/output/quiz.zip?download=zip

    Обязательно удалите косую черту в конце из значения url-path, прежде чем добавить к нему расширение .zip (чтобы получилось значение следующего вида: /quiz.zip, а не /quiz/.zip).

Проверка разрешений

Разрешения определяют способ взаимодействия субъекта с объектом SCO.

Сопоставление разрешений, указывающее разрешения, которые есть у субъекта в отношении конкретного SCO, называется списком контроля доступа или ACL. ACL состоит из трех блоков информации:

  • Идентификатор субъекта (principal-id).

  • Идентификатор SCO, учетной записи или субъекта, в отношении которого выполняется действие. В вызовах разрешений он называется acl-id. В других вызовах идентификатор может называться sco-id, account-id или principal-id.

  • Ключевое слово, которое указывает уровень разрешений для субъекта, который представляет собой одно из допустимый значений в permission-id.

Проверка разрешений, которые есть у субъекта в отношении объекта SCO

  1. Вызовите permissions-info со значениями acl-id и principal-id:

     https://example.com/api/xml?action=permissions-info&acl-id=2006334909 
         &principal-id=2006258745

    Чтобы проверить разрешения в отношении SCO, в качестве acl-id используется sco-id. В качестве acl-id также может использоваться principal-id или account-id.

  2. Выполните анализ ответа для permission-id:

     <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?>  
     <results> 
         <status code=&quot;ok&quot; />  
         <permission acl-id=&quot;2007035246&quot; permission-id=&quot;view&quot;  
                 principal-id=&quot;2006258745&quot; />  
     </results>

    Если у субъекта нет явных разрешений в отношении объекта SCO (иными словами, если permission-id=""), применяются разрешения субъекта для родительского объекта SCO.

Проверка всех разрешений субъекта в отношении объекта SCO

  1. Вызовите permissions-info со значением acl-id, но не со значением principal-id:

     https://example.com/api/xml?action=permissions-info&acl-id=2006293572
  2. Выполните итерацию по элементам principal и выполните их анализ для значений permission-id:

     <principal principal-id=&quot;2596608&quot; is-primary=&quot;false&quot; type=&quot;user&quot;  
                     has-children=&quot;false&quot; permission-id=&quot;view&quot;> 
             <name>Jay Arnold</name>  
             <login>jay@example.com</login>  
     </principal>

    Допустимые значения перечислены в permission-id.

 Adobe

Получайте помощь быстрее и проще

Новый пользователь?