필터를 사용하여 principal-list를 호출합니다.
Adobe Connect 웹 서비스 API를 시작하기 위한 주요 개념과 기본 사항을 학습합니다.
Adobe Connect 웹 서비스를 시작하려면 다음의 세 가지 주요 개념을 이해해야 합니다.
주체: 사용자 및 그룹을 의미함
SCO: 공유 가능한 콘텐츠 개체로 회의, 강의 및 Adobe Connect에서 만들 수 있는 모든 콘텐츠를 나타냅니다. SCO(snow에 운을 맞춘 sko로 발음)는 산업 표준 SCORM(Shareable Content Object Reference Model) 사양과 호환되며 교육 관리 시스템(LMS)과 함께 사용할 수 있습니다.
권한: 주체가 개체를 다루는 방법을 정의함
이 장에서는 라이센스가 부여된 Adobe Connect 응용 프로그램에 관계없이 웹 서비스로 수행할 수 있는 기본 작업을 설명합니다. 대부분의 작업을 브라우저에서 실행하는 것처럼 설명합니다. 응용 프로그램에서 호출하려면 XML 요청을 현재 작업 중인 언어로 번역합니다(Java™에서 이 작업을 수행하는 방법의 예시는 XML 요청 보내기 참조).
principal-id 찾기
주체는 서버에서 SCO와 상호 작용할 수 있도록 권한이 정의된 사용자 또는 그룹입니다. 조직의 사용자 및 그룹을 만들고 권한을 수정할 수 있습니다.
Adobe Connect에는 관리자, 제한된 관리자, 작성자, 교육 관리자, 이벤트 관리자, 수강생, 회의 주최자 및 세미나 주최자와 같은 기본 제공 그룹이 있습니다. 기본 제공 그룹에 사용자 및 그룹을 추가할 수 있지만 기본 제공 그룹의 권한은 수정할 수 없습니다.
사용할 수 있는 기본 제공 그룹은 계정에 따라 다릅니다.
각 Adobe Connect 사용자 및 그룹에는 principal-id가 있습니다. 일부 API 호출에서는 다른 값과 구별하기 위해 principal-id를 group-id 또는 user-id라고 합니다. 사용자 또는 그룹을 식별하는 ID 값은 이름과 관계없이 항상 같습니다.
사용자 또는 그룹의 principal-id 가져오기
-
https://example.com/api/xml?action=principal-list&filter-name=jazz doehttps://example.com/api/xml?action=principal-list&filter-name=jazz doe
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 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 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 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-infohttps://example.com/api/xml?action=common-infohttps://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><user user-id="2007124930" type="user"> <name>jazz doe</name> <login>jazz@doe.com</login> </user><user user-id="2007124930" type="user"> <name>jazz doe</name> <login>jazz@doe.com</login> </user>
여기에서 principal-id는 항상 Adobe Connect에 인증된 사용자를 나타내므로 user-id라고 합니다. 그룹이 서버에 로그인할 수 없습니다. 기타 작업에서 user-id 값을 principal-id로 전달할 수 있습니다.
주체 또는 게스트 나열하기
user type의 주체는 등록된 Adobe Connect 사용자이고, guest type의 사용자는 게스트로 회의실에 들어왔습니다. 서버는 게스트와 관련된 정보를 캡처하고 게스트에게 principal-id를 제공합니다.
서버의 모든 주체 나열
-
매개 변수 없이 principal-list를 호출합니다.
https://example.com/api/xml?action=principal-listhttps://example.com/api/xml?action=principal-listhttps://example.com/api/xml?action=principal-list
해당 호출은 모든 Adobe Connect 사용자를 반환하므로 대규모의 응답에 대비하십시오.
-
원하는 값에 대한 응답의 principal 요소를 분석합니다.
<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 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 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=guesthttps://example.com/api/xml?action=report-bulk-users&filter-type=guesthttps://example.com/api/xml?action=report-bulk-users&filter-type=guest
-
응답의 row 요소를 분석합니다.
<row principal-id="51157227"><login>joy@acme.com</login><name>joy@acme.com</name><email>joy@acme.com</email><type>guest</type></row><row principal-id="51157227"> <login>joy@acme.com</login> <name>joy@acme.com</name> <email>joy@acme.com</email> <type>guest</type> </row><row principal-id="51157227"> <login>joy@acme.com</login> <name>joy@acme.com</name> <email>joy@acme.com</email> <type>guest</type> </row>
특정 관리자에게 보고하는 모든 사용자 나열
principal-id로 principal-info를 호출하면 응답에 주체가 표시됩니다. 주체가 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와 함께 사용하여 해당 관리자에게 할당된 모든 사용자를 나열할 수 있습니다.
-
manager-id로 필터링하여 principal-list를 호출합니다.
https://example.com/api/xml?action=principal-list &filter-manager-id=2006282569https://example.com/api/xml?action=principal-list &filter-manager-id=2006282569https://example.com/api/xml?action=principal-list &filter-manager-id=2006282569
-
principal 요소에 대한 응답을 분석합니다.
<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><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><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에서는 응용 프로그램에서 관리자 권한이 필요한 API 호출을 수행할 때 사용할 admins 그룹 내의 사용자를 만드는 것을 권장합니다.
새 사용자 만들기 및 환영 전자 메일 보내기
-
응용 프로그램에서 관리자 사용자로 로그인합니다.
다양한 로그인 방법은 응용 프로그램에서 로그인을 참조하십시오.
-
최소한 다음의 매개 변수를 사용하여 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.comhttps://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.comhttps://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
type은 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><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><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>
전자 메일 주소를 로그인 ID로 사용하지 않고 새 사용자 만들기
-
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=0https://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=0https://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><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><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 헤더 인증을 사용하여 로그인 참조).
사용자 업데이트
사용자를 만든 후에는 해당 사용자의 정보를 업데이트해야 하는 경우가 많습니다. 사용자의 principal-id로 principal-update를 호출하여 Adobe Connect가 사용자에게 정의하는 표준 필드를 업데이트할 수 있습니다. 표준 필드에는 email, login, first-name 및 last-name이 포함됩니다.
주체를 사용자 정의 필드로 정의한 경우 acl-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.comhttps://example.com/api/xml?action=principal-update &principal-id=2006282569&email=jazzdoe@newcompany.comhttps://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-fieldshttps://example.com/api/xml?action=custom-fieldshttps://example.com/api/xml?action=custom-fields
-
업데이트하려는 principal-id, sco-id 또는 account-id를 가져옵니다.
해당 값은 acl-field-update에 전달하는 acl-id입니다.
-
acl-field-update를 호출하여 사용자 정의 필드의 값을 업데이트합니다.
https://example.com/api/xml?action=acl-field-update&field-id=x-2007396975&acl-id=2006258745&value=44444https://example.com/api/xml?action=acl-field-update&field-id=x-2007396975&acl-id=2006258745&value=44444https://example.com/api/xml?action=acl-field-update&field-id=x-2007396975&acl-id=2006258745&value=44444
사용자 정의 필드 만들기
사용자 정의 필드는 사용자가 정의하는 추가 데이터 필드입니다. 주체 또는 SCO에서 custom-field-update를 사용하여 최대 8개의 사용자 정의 필드를 정의할 수 있습니다.
사용자 정의 필드를 정의한 후에는 기본적으로 Adobe Connect Central에서 값을 편집하거나 custom-field-update를 호출하여 값을 설정할 수 있습니다.
API를 통해서만 값을 업데이트할 수 있도록 지정하려면 object-type=object-type-read-only 매개 변수를 사용하여 custom-field-update를 호출합니다.
사용자 정의 필드를 정의하고 사용자에게 설정하기
-
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=9https://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=9https://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-id에 대한 응답에서 field 요소를 분석합니다.
<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><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><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%20Franciscohttps://example.com/api/xml?action=acl-field-update &acl-id=2006258745&field-id=2007017474&value=San%20Franciscohttps://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=0https://example.com/api/xml?action=principal-update &first-name=jazzwayjazz&last-name=doe&login=jazz@doe.com &password=nothing&type=user&has-children=0https://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=userhttps://example.com/api/xml?action=principal-list&filter-type=userhttps://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 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 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-id를 가져오려면 principal-list를 다시 호출합니다.
https://example.com/api/xml?action=principal-list&filter-type=grouphttps://example.com/api/xml?action=principal-list&filter-type=grouphttps://example.com/api/xml?action=principal-list&filter-type=group
-
is-member=true로 group-membership-update를 호출하여 사용자를 그룹에 추가합니다.
https://example.com/api/xml?action=group-membership-update&group-id=4930296&principal-id=2006258745&is-member=truehttps://example.com/api/xml?action=group-membership-update &group-id=4930296&principal-id=2006258745&is-member=truehttps://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여야 합니다.
특정 사용자가 그룹에 있는지 확인하기
-
group-id, filter-is-member 및 주체를 식별하는 필터를 사용하여 principal-list를 호출합니다.
https://example.com/api/xml?action=principal-list&group-id=624523&filter-is-member=true&filter-like-name=bobhttps://example.com/api/xml?action=principal-list&group-id=624523 &filter-is-member=true&filter-like-name=bobhttps://example.com/api/xml?action=principal-list&group-id=624523 &filter-is-member=true&filter-like-name=bob
-
응답의 principal 요소를 분석합니다. 성공적인 응답은 다음과 같습니다.
<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> <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> <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><?xml version="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <principal-list /> </results><?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=developershttps://example.com/api/xml?action=principal-list&filter-type=group &filter-name=developershttps://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 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 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-id를 group-id로 하고, filter-is-member=true를 사용하여 principal-list를 다시 호출합니다.
https://example.com/api/xml?action=principal-list&group-id=2007105030&filter-is-member=truehttps://example.com/api/xml?action=principal-list&group-id=2007105030 &filter-is-member=truehttps://example.com/api/xml?action=principal-list&group-id=2007105030 &filter-is-member=true
-
principal 요소에 대한 응답을 분석합니다.
<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 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 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-id 및 filter-is-member=true를 사용하여 principal-list를 호출합니다.
https://example.com/api/xml?action=principal-list&principal-id=2006258745&filter-is-member=truehttps://example.com/api/xml?action=principal-list &principal-id=2006258745&filter-is-member=truehttps://example.com/api/xml?action=principal-list &principal-id=2006258745&filter-is-member=true
-
principal 요소에 대한 응답을 분석합니다.
<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 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 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-info 또는 기타 작업의 응답에서 sco-id 및 type 값을 확인할 수 있습니다.
<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 또는 다른 이름으로 부를 수도 있습니다. 동일한 고유 ID입니다.
각 SCO에는 사용자 또는 그룹의 다양한 주체가 액세스할 수 있습니다. SCO에 액세스할 수 있는 특정 주체는 액세스 제어 목록 또는 ACL에 정의됩니다.
각 SCO에는 도메인 이름(예: http://example.com)과 URL 경로(예: /f2006123456/)의 두 부분으로 구성된 고유한 URL이 있습니다. 이러한 링크를 연결하여 SCO에 액세스하는 전체 URL을 구성할 수 있습니다.
각 SCO에는 폴더 계층 구조에서의 위치를 설명하는 탐색 경로가 있습니다.
각 SCO에는 SCO에 액세스할 수 있는 주체별로 정의된 권한이 있습니다.
일부 SCO에는 SCO에 정보를 제공하는 텍스트 문자열인 설명 필드가 있습니다.
SCO의 ID 또는 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용 폴더도 유사한 패턴을 따릅니다. 각 폴더 유형은 다음과 같이 특정 액세스 권한과 함께 특정 유형의 개체를 저장합니다.
content, courses, meetings, events, seminars
해당 폴더는 공유 회의, 공유 교육 등과 같은 공유 폴더입니다. 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만 반환하므로 sco-search를 사용하지 마십시오.
sco-id를 모르는 경우 SCO 찾기
-
Adobe Connect의 루트 폴더 목록을 가져오려면 sco-shortcuts를 호출합니다.
https://example.com/api/xml?action=sco-shortcutshttps://example.com/api/xml?action=sco-shortcutshttps://example.com/api/xml?action=sco-shortcuts
-
논리적으로 SCO를 포함하는 루트 폴더 type에 대한 응답을 분석합니다(예: 사용자가 만든 강의인 my-courses).
-
sco-id의 결과 요소인 sco 요소를 분석합니다.
<sco tree-id="4930295" sco-id="2006258748" type="my-courses"><domain-name>http://example.com</domain-name></sco><sco tree-id="4930295" sco-id="2006258748" type="my-courses"> <domain-name>http://example.com</domain-name> </sco><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 Communitieshttps://example.com/api/xml?action=sco-expanded-contents &sco-id=2006258748&filter-name=All About Web Communitieshttps://example.com/api/xml?action=sco-expanded-contents &sco-id=2006258748&filter-name=All About Web Communities
선택할 수 있는 필터는 다음과 같습니다.
SCO의 이름이나 URL을 알고 있는 경우: name 또는 url-path(예: filter-name 또는 filter-url-path)에 정확히 일치하는 필터.
다음 날짜를 알고 있는 경우: date-begin, date-created 또는 date-modified의 날짜 필터(filter-gt-date 또는 filter-lt-date)보다 크거나 작은 필터.
정확한 SCO 이름을 모르는 경우: 부분 이름 필터(예: filter-like-name). 그러나 이 필터를 사용하면 시스템 성능에 영향을 줄 수 있습니다.
-
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 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 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-id를 사용하여 sco-info를 호출합니다.
https://example.com/api/xml?action=sco-info&sco-id=2006745669https://example.com/api/xml?action=sco-info&sco-id=2006745669https://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><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><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>
SCO의 URL 구성하기
-
sco-shortcuts를 호출합니다.
https://example.com/api/xml?action=sco-shortcutshttps://example.com/api/xml?action=sco-shortcutshttps://example.com/api/xml?action=sco-shortcuts
-
sco 요소의 domain-name 값에 대한 응답을 분석합니다.
<sco tree-id="624530" sco-id="2006258750" type="my-meetings"><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="624530" sco-id="2006258750" type="my-meetings"> <domain-name>http://example.com</domain-name> </sco>
-
sco-id를 사용하여 sco-info를 호출합니다.
https://example.com/api/xml?action=sco-info&sco-id=2006334909https://example.com/api/xml?action=sco-info&sco-id=2006334909https://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><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><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에는 선/후행 슬래시가 모두 있습니다. report-my-meetings, report-my-training 또는 이를 반환하는 모든 호출에서 url-path를 가져올 수 있습니다.
-
url-path를 domain-name과 연결합니다.
http://example.com/f2006258748/http://example.com/f2006258748/http://example.com/f2006258748/
파일 다운로드
Adobe Connect에서 사용자의 로컬 컴퓨터로 zip 파일을 다운로드할 수 있습니다. zip 파일은 SCO입니다. 다운로드하려면 zip 파일에 대한 다운로드 URL을 구성해야 합니다. 이 URL은 다음과 같습니다.
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-shortcutshttps://example.com/api/xml?action=sco-shortcutshttps://example.com/api/xml?action=sco-shortcuts
-
응답에서 domain-name 값을 추출합니다.
http://example.comhttp://example.comhttp://example.com
-
zip 파일의 sco-id로 sco-info를 호출합니다.
https://example.com/api/xml?action=sco-info&sco-id=2006258747https://example.com/api/xml?action=sco-info&sco-id=2006258747https://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><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><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=ziphttps://example.com/quiz/output/quiz.zip?download=ziphttps://example.com/quiz/output/quiz.zip?download=zip
.zip을 추가하기 전에 url-path 값에서 후행 슬래시를 제거해야 합니다(이를 통해 /quiz/.zip이 아닌 /quiz.zip과 같은 값을 갖게 됨).
권한 확인
권한은 주체가 SCO와 상호 작용할 수 있는 방법을 정의합니다.
주체가 특정 SCO에 가지고 있는 권한을 나타내는 권한 매핑을 access control list 또는 ACL이라고 합니다. ACL은 다음 세 가지 정보로 구성됩니다.
주체의 ID(principal-id).
작업 중인 SCO, 계정 또는 주체의 ID입니다. 권한 호출에서는 acl-id라고 합니다. 다른 호출에서 ID는 sco-id, account-id 또는 principal-id라고 부를 수 있습니다.
주체의 권한 수준을 나타내는 키워드로 permission-id의 유효한 값 중 하나입니다.
SCO 주체의 권한 확인하기
-
acl-id와 principal-id를 모두 사용하여 permissions-info를 호출합니다.
https://example.com/api/xml?action=permissions-info&acl-id=2006334909&principal-id=2006258745https://example.com/api/xml?action=permissions-info&acl-id=2006334909 &principal-id=2006258745https://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><?xml version="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <permission acl-id="2007035246" permission-id="view" principal-id="2006258745" /> </results><?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 주체의 권한 확인하기
-
acl-id를 사용하여 permissions-info를 호출하지만 principal-id는 사용하지 않습니다.
https://example.com/api/xml?action=permissions-info&acl-id=2006293572https://example.com/api/xml?action=permissions-info&acl-id=2006293572https://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><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><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에 나열됩니다.