Вызовите список субъектов, применяя фильтр:
Изучите ключевые понятия и основные принципы, чтобы подготовиться к работе с 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 для пользователя или группы
-
https://example.com/api/xml?action=principal-list&filter-name=jazz doe
Рекомендуется использовать filter-name, filter-login или filter-email для точного совпадения. Используйте значение filter-like-name с осторожностью, так как оно может влиять на производительность сервера.
-
Анализ элементов субъекта в ответе для principal-id:
<principal principal-id="2006282569" account-id="624520" type="user" has-children="false" is-primary="false" is-hidden="false"> <name>jazz doe</name> <login>jazzdoe@example.com</login> <email>jazzdoe@newcompany.com</email> </principal>
Получение principal-id текущего пользователя
-
Вызов common-info после входа пользователя в систему:
https://example.com/api/xml?action=common-info
-
Анализ элементов пользователя в ответе для user-id:
<user user-id="2007124930" type="user"> <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.
Создание списка всех субъектов на сервере
-
Вызов principal-list без параметров:
https://example.com/api/xml?action=principal-list
Этот вызов возвращает всех пользователей Adobe Connect, поэтому следует ожидать ответа большого размера.
-
Проанализируйте элементы субъекта в ответе для выбранных значений:
<principal principal-id="2006282569" account-id="624520" type="user" has-children="false" is-primary="false" is-hidden="false"> <name>jazz doe</name> <login>jazzdoe@example.com</login> <email>jazzdoe@newcompany.com</email> </principal>
Создание списка всех гостей на сервере
-
Вызовите report-bulk-users, применив фильтрацию по типу гостя:
https://example.com/api/xml?action=report-bulk-users&filter-type=guest
-
Выполните анализ элементовстроки в ответе:
<row principal-id="51157227"> <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="624520" disabled="" has-children="false" is-hidden="false" is-primary="false" principal-id="2006282569" type="user"> <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 для создания списка всех пользователей, назначенных менеджеру.
-
Выполните вызов principal-list, применив фильтрацию по manager-id:
https://example.com/api/xml?action=principal-list &filter-manager-id=2006282569
-
Выполните анализ ответа для элементов субъекта:
<principal principal-id="2006258745" account-id="624520" type="user" has-children="false" is-primary="false" is-hidden="false" manager-id="2006282569"> <name>Pat Lee</name> <login>plee@mycompany.com</login> <email>plee@mycompany.com</email> </principal>
Создание пользователей
Чтобы создать нового пользователя, требуются разрешения уровня администратора. Adobe рекомендует создать пользователя, который принадлежит к группе admins для вашего приложения, чтобы использовать вызовы API, для которых требуются разрешения уровня администратора.
Создание нового пользователя и отправка приветственного сообщения по электронной почте
-
Выполните вход в приложение с правами администратора.
См. раздел Вход в систему из приложения, где описываются различные способы входа.
-
Выполните вызов 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 должно содержать допустимый адрес электронной почты.
Сервер отправляет на электронный адрес пользователя приветственное сообщение, где приведены данные для входа.
-
Выполните анализ элемента субъекта в ответе для principal-id пользователя:
<principal type="user" principal-id="2007184341" has-children="0" account-id="624520"> <login>jammdoe@example.com</login> <ext-login>jammdoe@example.com</ext-login> <name>jamm doe</name> </principal>
Создание нового пользователя без использования адреса электронной почты в качестве идентификатора для входа
-
На портале Adobe Connect Central перейдите в раздел «Администрирование» > «Пользователи и группы» > «Редактирование политик, регулирующих учетные данные». Убедитесь в том, что для параметра «Использовать электронный адрес в качестве имени для входа» установлено значение «Нет».
-
Выполните вход в приложении, используя учетные данные администратора.
-
Выполните вызов 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
-
Выполните анализ principal-id нового пользователя:
<principal type="user" principal-id="2007184341" has-children="0" account-id="624520"> <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. Вы не можете выполнить вход с учетными данными пользователя, а затем разрешить пользователю обновить его профиль.
Обновление стандартных данных пользователя
-
Выполните вход с правами администратора.
-
Вызовитеprincipal-list, применяя фильтр , чтобы получить principal-id пользователя (см. Поиск значения principal-id).
-
Вызовите principal-update, чтобы обновить пользователя:
https://example.com/api/xml?action=principal-update &principal-id=2006282569&email=jazzdoe@newcompany.com
-
Выполните анализ ответа для кода статуса ok.
Обновите значения пользовательских полей для пользователя.
-
Выполните вход с правами администратора.
-
Вызовите custom-fields, чтобы получить значение field-id для пользовательского поля:
https://example.com/api/xml?action=custom-fields
-
Получите значения principal-id, sco-id или account-id, которые требуется обновить.
Это значение является идентификатором acl-id, который вы передаете в acl-field-update.
-
Вызовите 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.
Определите пользовательское поле и задайте его для пользователя.
-
Для начала создайте поле, используя 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.
-
Выполните анализ элемента field в ответе для field-id:
<field field-id="2007184366" object-type="object-type-principal" display-seq="9" account-id="624520" is-primary="false" permission-id="manage" is-required="true" field-type="text"> <comments>test</comments> <name>Country</name> </field>
-
Получите principal-id пользователя (см. раздел Поиск значения principal-id).
-
Вызовите 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
-
Выполните анализ ответа для кода статуса ok.
Создание групп
Чтобы добавить пользователей в группы, необходимо вызватьprincipal-update с правами администратора приложения.
Добавление пользователя в группу
-
Выполните вход в систему с правами администратора приложения.
-
(Необязательно) Если пользователь еще не существует, создайте его с помощью 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
-
(Необязательно) Выполните анализ ответа для нового principal-id пользователя.
-
Если пользователь уже существует, вызовите principal-list, чтобы получить principal-id пользователя:
https://example.com/api/xml?action=principal-list&filter-type=user
-
Выполните анализ ответа для principal-id:
<principal principal-id="5611980" account-id="624520" type="user" has-children="false" is-primary="false" is-hidden="false"> <name>Joy Black</name> <login>joy@acme.com</login> <email>joy@acme.com</email> </principal>
-
Вызовите principal-list еще раз, чтобы получить principal-id группы:
https://example.com/api/xml?action=principal-list&filter-type=group
-
Вызовите 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.
Проверка включения конкретного пользователя в группу
-
Вызовите 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
-
Выполните анализ элемента субъекта в ответе. Успешный ответ имеет следующий вид:
<principal-list> <principal principal-id="624660" account-id="624520" type="user" has-children="false" is-primary="false" is-hidden="false"> <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="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <principal-list /> </results>
Проверка пользователей, включенных в группу
-
Чтобы получить значение principal-id группы, вызовите principal-list с фильтрами:
https://example.com/api/xml?action=principal-list&filter-type=group &filter-name=developers
При использовании значений filter-type и filter-name principal-list будет возвращать уникальное совпадение.
-
Выполните анализ ответа для principal-id:
<principal principal-id="2007105030" account-id="624520" type="group" has-children="true" is-primary="false" is-hidden="false"> <name>developers</name> <login>developers</login> <is-member>false</is-member> </principal>
-
Вызовите 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
-
Выполните анализ ответа для элементов субъекта:
<principal principal-id="5698354" account-id="624520" type="group" has-children="true" is-primary="false" is-hidden="false"> <name>Bob Jones</name> <login>bobjones@acme.com</login> <is-member>true</is-member> </principal>
Создание списка всех групп, к которым принадлежит пользователь
-
Вызовите principal-list со значением principal-id пользователя и filter-is-member=true:
https://example.com/api/xml?action=principal-list &principal-id=2006258745&filter-is-member=true
-
Выполните анализ ответа для элементов субъекта:
<principal principal-id="5698354" account-id="624520" type="group" has-children="true" is-primary="false" is-hidden="false"> <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="624520" disabled="" display-seq="0" folder-id="2006258747" icon="producer" lang="en" max-retries="" sco-id="2006334909" source-sco-id="" type="content" version="1">
Характеристики объектов 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="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <shortcuts> <sco tree-id="624530" sco-id="2006258751" type="my-meeting-templates"> <domain-name>http://example.com</domain-name> </sco> <sco tree-id="624530" sco-id="2006258750" type="my-meetings"> <domain-name>http://example.com</domain-name> </sco> <sco tree-id="624529" sco-id="624529" type="meetings"> <domain-name>http://example.com</domain-name> </sco> <sco tree-id="624530" sco-id="624530" type="user-meetings"> <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
-
Вызовите sco-shortcuts, чтобы получить список корневых папок в Adobe Connect:
https://example.com/api/xml?action=sco-shortcuts
-
Выполните анализ ответа для типа корневой папки, которая логически должна содержать объект SCO, напримерmy-courses, если речь о курсе, созданном пользователем.
-
Выполните анализ результирующего элемента sco для sco-id:
<sco tree-id="4930295" sco-id="2006258748" type="my-courses"> <domain-name>http://example.com</domain-name> </sco>
-
Создайте вызов в адрес 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. Однако использование этого фильтра может повлиять на производительность системы.
-
Выполните анализ ответа для sco-id:
<sco depth="1" sco-id="2006745671" folder-id="2006258748" type="folder" icon="folder" lang="en" source-sco-id="2006745669" display-seq="0" source-sco-type="14"> <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
-
Выполните вызов sco-info со значением sco-id:
https://example.com/api/xml?action=sco-info&sco-id=2006745669
-
Выполните анализ для значения name, url-path или любого другого значения:
<sco account-id="624520" disabled="" display-seq="0" folder-id="2006258748" icon="curriculum" lang="en" max-retries="" sco-id="2006745669" source-sco-id="" type="curriculum" version="0"> <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
-
Вызов sco-shortcuts:
https://example.com/api/xml?action=sco-shortcuts
-
Выполните анализ ответа для значения domain-name в любом элементе sco:
<sco tree-id="624530" sco-id="2006258750" type="my-meetings"> <domain-name>http://example.com</domain-name> </sco>
-
Вызовите sco-info со значением sco-id:
https://example.com/api/xml?action=sco-info&sco-id=2006334909
-
Выполните анализ ответа для url-path:
<sco account-id="624520" disabled="" display-seq="0" folder-id="2006258747" icon="producer" lang="en" max-retries="" sco-id="2006334909" source-sco-id="" type="content" version="1"> <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 или из любого вызова, который это значение возвращает.
-
Выполните конкатенацию 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-файла с сервера
-
Вызов sco-shortcuts:
https://example.com/api/xml?action=sco-shortcuts
-
Извлеките значение domain-name из ответа:
http://example.com
-
Вызовите sco-info со значением sco-id ZIP-файла:
https://example.com/api/xml?action=sco-info&sco-id=2006258747
Объектом SCO является весь ZIP-файл.
-
Выполните анализ ответа для элемента url-path:
<sco account-id="624520" disabled="" display-seq="0" folder-id="624522" icon="folder" lang="en" max-retries="" sco-id="2006258747" source-sco-id="" type="folder" version="1"> <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>
-
Сформируйте 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
-
Вызовите 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.
-
Выполните анализ ответа для permission-id:
<?xml version="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <permission acl-id="2007035246" permission-id="view" principal-id="2006258745" /> </results>
Если у субъекта нет явных разрешений в отношении объекта SCO (иными словами, если permission-id=""), применяются разрешения субъекта для родительского объекта SCO.
Проверка всех разрешений субъекта в отношении объекта SCO
-
Вызовите permissions-info со значением acl-id, но не со значением principal-id:
https://example.com/api/xml?action=permissions-info&acl-id=2006293572
-
Выполните итерацию по элементам principal и выполните их анализ для значений permission-id:
<principal principal-id="2596608" is-primary="false" type="user" has-children="false" permission-id="view"> <name>Jay Arnold</name> <login>jay@example.com</login> </principal>
Допустимые значения перечислены в permission-id.