Chiama principal-list con un filtro:
Scopri i concetti chiave e le nozioni di base per iniziare a usare le API di Adobe Connect Web Services.
Per iniziare a usare Adobe Connect Web Services, è necessario comprendere tre concetti chiave:
Entità: utenti e gruppi
SCO, (Shareable Content Objects): rappresentano riunioni, corsi e ogni contenuto che è possibile creare su Adobe Connect. Gli SCO (pronunciato sko, come in “scopri”) sono compatibili con la specifica standard di settore Shareable Content Object Reference Model (SCORM) e possono essere utilizzati con un sistema LMS (Learning Management System).
Autorizzazioni: definiscono il modo in cui le entità possono gestire gli oggetti
Questo capitolo descrive le attività di base che è possibile eseguire con i servizi Web, indipendentemente dalle applicazioni Adobe Connect per le quali è stata acquistata la licenza. Molte attività vengono descritte come se fossero eseguite in un browser. Se desideri effettuare la chiamata da un’applicazione, traduci la richiesta XML nel linguaggio in cui stai lavorando (per un esempio su come eseguire questa operazione in Java™, consulta Inviare richieste XML).
Trovare un principal-id
Per entità si intende un utente o un gruppo che dispone di una determinata autorizzazione per interagire con uno SCO sul server. Puoi creare utenti e gruppi per la tua organizzazione e modificarne le autorizzazioni.
Adobe Connect ha anche gruppi predefiniti: Amministratori, Amministratori limitati, Autori, Manager formazione, Manager eventi, Allievi, Organizzatori riunioni e Organizzatori seminari. Puoi aggiungere utenti e gruppi ai gruppi predefiniti, ma non puoi modificare le autorizzazioni relative a tali gruppi.
I gruppi predefiniti disponibili dipendono dal tuo account.
Ogni utente e gruppo di Adobe Connect ha un principal-id. In alcune chiamate API, principal-id è denominato group-id o user-id per distinguerlo da altri valori. Il valore dell’ID che identifica un utente o un gruppo è sempre lo stesso, indipendentemente dal nome.
Come ottenere il principal-id di un utente o gruppo
-
https://example.com/api/xml?action=principal-list&filter-name=jazz doe
È preferibile usare filter-name, filter-login o filter-email per una corrispondenza esatta. Fai attenzione con filter-like-name, poiché potrebbe influire sulle prestazioni del server.
-
Analizza gli elementi principal nella risposta per 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>
Come ottenere il principal-id dell’utente corrente
-
Chiama common-info dopo che l’utente ha effettuato l’accesso:
https://example.com/api/xml?action=common-info
-
Analizza gli elementi dell’utente (user) nella risposta per user-id:
<user user-id="2007124930" type="user"> <name>jazz doe</name> <login>jazz@doe.com</login> </user>
Qui, principal-id è denominato user-id, poiché rappresenta sempre un utente autenticato per Adobe Connect. I gruppi non possono accedere al server. Puoi cambiare il valore user-id in principal-id in altre azioni.
Elenco delle entità o degli ospiti
Un’entità con un tipo user è un utente Adobe Connect registrato, mentre un utente con un tipo guest entra in una sala riunioni come ospite. Il server acquisisce le informazioni sull’ospite e gli assegna un principal-id.
Elenco di tutte le entità sul server
-
Chiama principal-list senza parametri:
https://example.com/api/xml?action=principal-list
Questa chiamata restituisce tutti gli utenti di Adobe Connect, quindi preparati per una risposta di grandi dimensioni.
-
Analizza gli elementi principal nella risposta per i valori desiderati:
<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>
Elenco di tutti gli ospiti sul server
-
Chiama report-bulk-users, filtrando per un tipo di ospite:
https://example.com/api/xml?action=report-bulk-users&filter-type=guest
-
Analizza gli elementi row della risposta:
<row principal-id="51157227"> <login>joy@acme.com</login> <name>joy@acme.com</name> <email>joy@acme.com</email> <type>guest</type> </row>
Elenco di tutti gli utenti che rispondono a un manager specifico
Quando chiami principal-info con un principal-id, la risposta mostra l’entità. Se l’entità è un utente a cui è assegnato un manager in Adobe Connect, la risposta mostra anche i dati relativi al manager dell’entità in un elemento 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>
Puoi utilizzare il principal-id del manager con principal-list per elencare tutti gli utenti assegnati al manager.
-
Chiama principal-list, filtrando su manager-id:
https://example.com/api/xml?action=principal-list &filter-manager-id=2006282569
-
Analizza la risposta per gli elementi 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>
Creazione di utenti
Per creare un nuovo utente, è necessario disporre dei privilegi di amministratore. Adobe consiglia di creare un utente che appartenga al gruppo Amministratori per consentire all’applicazione di effettuare chiamate API che richiedono i privilegi di amministratore.
Creazione di un nuovo utente e invio di un’e-mail di benvenuto
-
Nell’applicazione, accedi come amministratore.
Consulta Accesso da un’applicazione per conoscere vari modi di accedere.
-
Chiama principal-update con almeno questi parametri:
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
Type deve essere user, has-children deve essere 0 o false, send-email deve essere truee email deve avere un indirizzo e-mail valido.
Il server invia un’e-mail di benvenuto con le informazioni di accesso all’indirizzo e-mail dell’utente.
-
Analizza l’elemento dell’entità (principal) nella risposta per il principal-id dell’utente:
<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>
Creazione di un nuovo utente senza utilizzare un indirizzo e-mail come ID di accesso
-
In Adobe Connect Central, vai su Amministrazione > Utenti e gruppi > Modifica criteri di login e password. Assicurati che Usa indirizzo e-mail per il login sia impostato su No.
-
Nell’applicazione, accedi come amministratore.
-
Chiama principal-update per creare il nuovo utente, così da cambiare i parametri sia dilogin che di 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
-
Analizza la risposta per principal-id del nuovo utente:
<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>
Nella risposta, ext-login ha lo stesso valore di login per impostazione predefinita, fino a quando l’utente non accede correttamente utilizzando l’autenticazione esterna (consulta Accesso mediante l’autenticazione dell’intestazione HTTP).
Aggiornamento degli utenti
Dopo aver creato gli utenti, spesso è necessario aggiornarne le informazioni. Puoi aggiornare i campi standard definiti da Adobe Connect per gli utenti chiamando principal-update con il principal-id dell’utente. I campi standard includono email, login, first-name e last-name.
Se hai definito i campi personalizzati per l’entità, utilizza acl-field-update per aggiornarli.
Per aggiornare gli utenti devi disporre dei privilegi di amministratore, quindi l’applicazione deve prima accedere come utente nel gruppo Amministratori. Non è possibile accedere come utente e quindi aggiornare il profilo di tale utente.
Aggiornamento delle informazioni utente standard
-
Accedi come amministratore.
-
Chiama principal-list con un filtro per ottenere il principal-id dell’utente (consulta Trovare un principal-id).
-
Chiama principal-update per aggiornare l’utente:
https://example.com/api/xml?action=principal-update &principal-id=2006282569&email=jazzdoe@newcompany.com
-
Analizza la risposta per un codice di stato ok.
Aggiornamento dei valori dei campi personalizzati per un utente
-
Accedi come amministratore.
-
Chiama custom-fields per ottenere il field-id del campo personalizzato:
https://example.com/api/xml?action=custom-fields
-
Trova principal-id, sco-id o account-id che desideri aggiornare.
Questo valore è l’acl-id che cambi in acl-field-update.
-
Chiama acl-field-update per aggiornare il valore del campo personalizzato:
https://example.com/api/xml?action=acl-field-update&field-id=x-2007396975&acl-id=2006258745&value=44444
Creazione di campi personalizzati
I campi personalizzati sono campi dati aggiuntivi definiti dall’utente. Puoi definire fino a otto campi personalizzati in un’entità o in uno SCO utilizzando custom-field-update.
Una volta definito il campo personalizzato, per impostazione predefinita puoi impostarne il valore modificandolo in Adobe Connect Central o chiamando custom-field-update.
Per specificare che il valore può essere aggiornato solo tramite l’API, chiama custom-field-update con il parametro object-type=object-type-read-only.
Definizione di un campo personalizzato e relativa impostazione su un utente
-
Innanzitutto, crea il campo con 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
Il campo name definisce il nome del campo quando viene visualizzato dall’applicazione, quindi utilizza l’ortografia e le maiuscole appropriate. Il campo personalizzato in questo esempio è definito per tutte le entità Adobe Connect.
-
Analizza l’elementofield nella risposta per 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>
-
Trova principal-id dell’utente (consulta Trovare un principal-id).
-
Chiama acl-field-update per impostare il valore del campo, così da cambiare un field-id, cioè il principal-id dell’utente, in acl-id e un valore:
https://example.com/api/xml?action=acl-field-update &acl-id=2006258745&field-id=2007017474&value=San%20Francisco
-
Analizza la risposta per un codice di stato ok.
Creazione di gruppi
Per aggiungere utenti ai gruppi, devi chiamare principal-update come amministratore dell’applicazione.
Aggiunta di un utente a un gruppo
-
Accedi come amministratore dell’applicazione.
-
(Facoltativo) Se l’utente non esiste ancora, crealo con 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
-
(Facoltativo) Analizza la risposta per principal-id del nuovo utente.
-
Se l’utente esiste già, chiama principal-list per ottenere il suo principal-id:
https://example.com/api/xml?action=principal-list&filter-type=user
-
Analizza la risposta per 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>
-
Chiama di nuovo principal-list per ottenere il principal-id del gruppo:
https://example.com/api/xml?action=principal-list&filter-type=group
-
Chiama group-membership-update con is-member=true per aggiungere l’utente al gruppo:
https://example.com/api/xml?action=group-membership-update &group-id=4930296&principal-id=2006258745&is-member=true
Il principal-id è il principal-id dell’utente.
Il group-id è il principal-id del gruppo.
Il parametro is-member deve essere true.
Verifica della presenza di un utente specifico in un gruppo
-
Chiama principal-list con un group-id, filter-is-member e un filtro che identifica l’entità:
https://example.com/api/xml?action=principal-list&group-id=624523 &filter-is-member=true&filter-like-name=bob
-
Analizza l’elemento principal nella risposta. Ecco un esempio di risposta corretta:
<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>
Se l’utente non è un membro del gruppo, l’elemento principal-list è vuoto:
<?xml version="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <principal-list /> </results>
Verifica degli utenti che appartengono a un gruppo
-
Per ottenere il principal-id del gruppo, chiama principal-list tramite i filtri:
https://example.com/api/xml?action=principal-list&filter-type=group &filter-name=developers
Con filter-type e filter-name, principal-list dovrebbe restituire una corrispondenza univoca.
-
Analizza la risposta per 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>
-
Chiama di nuovo principal-list con il principal-id come group-id e filter-is-member=true:
https://example.com/api/xml?action=principal-list&group-id=2007105030 &filter-is-member=true
-
Analizza la risposta per gli elementi 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>
Elenco di tutti i gruppi a cui appartiene un utente
-
Chiama principal-list con il principal-id dell’utente e filter-is-member=true:
https://example.com/api/xml?action=principal-list &principal-id=2006258745&filter-is-member=true
-
Analizza la risposta per gli elementiprincipal:
<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>
Trovare gli SCO
Tutti gli oggetti di Adobe Connect sono SCO (Shareable Content Objects). La parola Shareable (condivisibile) proviene da sistemi di gestione dell’apprendimento in cui i contenuti vengono combinati in corsi o programmi e condivisi tra loro.
Sul server, uno SCO può essere qualsiasi oggetto di contenuto combinato con altri oggetti di contenuto in un corso o in un programma. Corsi, programmi, presentazioni e altri tipi di contenuti sono SCO. Anche riunioni, eventi, cartelle, strutture, collegamenti, file grafici o qualsiasi altro oggetto sono SCO.
Ogni SCO ha un identificatore intero univoco chiamato sco-id. Questo sco-id è univoco in tutto il server. Su un account ospitato in Adobe Connect, il valore sco-id è univoco in tutti gli account.
Ogni SCO ha anche un tipo, ad esempio content, course, meeting e così via. Puoi visualizzare i valori sco-id e type nella risposta da sco-info o altre azioni:
<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">
Caratteristiche degli SCO
Noterai più caratteristiche degli SCO quando studierai le risposte XML di varie chiamate:
L’identificatore di SCO è denominato sco-id in alcune azioni, ma può anche essere chiamato folder-id, acl-id o con un altro nome in altre azioni. È lo stesso ID univoco.
Ogni SCO può essere accessibile da varie entità, sia utenti che gruppi. Le entità specifiche che possono accedere a uno SCO sono definite negli elenchi di controllo degli accessi, o ACL (Access Control Lists).
Ogni SCO ha un URL univoco, con due parti: un nome di dominio (ad esempio, http://example.com) e un percorso URL (ad esempio, /f2006123456/). Puoi concatenarli per formare l’URL completo che permette di accedere allo SCO.
Ogni SCO ha un percorso di navigazione che descrive la propria posizione all’interno della gerarchia delle cartelle.
Ogni SCO dispone di un’autorizzazione definita per ogni entità che può accedervi.
Alcuni SCO dispongono di campi di descrizione, ovvero stringhe di testo che forniscono informazioni relative a tali oggetti.
Spesso è necessario trovare l’ID di uno SCO o alcune informazioni su di esso. Gli SCO sono disposti in una gerarchia di cartelle specifica in cui queste ultime hanno nomi che indicano se si trovano al livello superiore, se includono contenuti o modelli condivisi o contenuti e modelli utente.
Quando chiami sco-shortcuts, viene restituito un elenco di cartelle. Come puoi notare, le cartelle hanno tipi diversi:
<?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>
Le cartelle mostrate in questo esempio sono per le riunioni, ma quelle per altri tipi di SCO seguono un modello simile. Ogni tipo di cartella memorizza determinati tipi di oggetti, con determinati privilegi di accesso, nel modo seguente:
content, courses, meetings, events, seminars
Si tratta di cartelle condivise, ad esempio Riunioni condivise, Formazione condivisa e così via. L’amministratore Adobe Connect ha accesso a questa cartella e può assegnare l’autorizzazione Gestisci a qualsiasi utente, ma solo i membri del gruppo integrato associato alla cartella possono creare nuovi contenuti o riunioni al suo interno.
user-content, user-meetings, user-courses, user-events
Ciascuna di queste cartelle contiene una cartella per ogni utente che può creare dei contenuti al suo interno (ad esempio, una cartella per ogni organizzatore delle riunioni o sviluppatore della formazione).
my-courses, my-events, my-meetings, my-meeting-templates, my-content
Gli utenti creano il proprio contenuto in queste cartelle e dispongono dell’autorizzazione Gestisci per il contenuto. Ad esempio, gli organizzatori delle riunioni creano riunioni nella cartellamy-meetings e dispongono delle autorizzazioni Gestisci per tali riunioni.
shared-meeting-templates
Questa cartella si trova all’interno della cartella Riunioni condivise, contiene modelli di riunione ed eredita le autorizzazioni dalle Riunioni condivise.
Puoi elencare i contenuti di qualsiasi cartella per ottenere informazioni su un determinato SCO. Quando devi cercare uno SCO ma non hai uno sco-id, spostati tra le cartelle mediante sco-shortcuts e sco-extended-contents. Non utilizzare sco-search, poiché restituisce solo determinati tipi di SCO.
Trovare uno SCO quando non si conosce lo sco-id
-
Chiama sco-shortcuts per ottenere un elenco delle cartelle principali in Adobe Connect:
https://example.com/api/xml?action=sco-shortcuts
-
Analizza la risposta per un tipo della cartella principale che conterrebbe logicamente lo SCO, ad esempio my-courses per un corso creato dall’utente.
-
Analizza il risultato dell’elemento sco per sco-id:
<sco tree-id="4930295" sco-id="2006258748" type="my-courses"> <domain-name>http://example.com</domain-name> </sco>
-
Crea una chiamata a sco-extended-contents per elencare il contenuto della cartella, aggiungendo, se possibile, un filtro di corrispondenza esatta:
https://example.com/api/xml?action=sco-expanded-contents &sco-id=2006258748&filter-name=All About Web Communities
Sono disponibili diverse opzioni di filtri:
Un filtro di corrispondenza esatta su name o url-path (come filter-name o filter-url-path), se conosci il nome o l’URL dello SCO.
Un filtro per data maggiore o minore (filter-gt-date o filter-lt-date) in date-begin, date-created o date-modified, se conosci una di queste date.
Un filtro per nome parziale (ad esempio, filter-like-name), se non conosci esattamente il nome dello SCO. Tuttavia, l’utilizzo di questo filtro potrebbe influire sulle prestazioni del sistema.
-
Analizza la risposta per 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>
Acquisizione di informazioni su uno SCO
-
Chiama sco-info con sco-id:
https://example.com/api/xml?action=sco-info&sco-id=2006745669
-
Analizza la risposta per name, url-path o qualsiasi altro valore:
<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>
Creazione dell’URL in uno SCO
-
Chiama sco-shortcuts:
https://example.com/api/xml?action=sco-shortcuts
-
Analizza la risposta per il valore domain-name in qualsiasi elementosco:
<sco tree-id="624530" sco-id="2006258750" type="my-meetings"> <domain-name>http://example.com</domain-name> </sco>
-
Chiama sco-info con il valoresco-id:
https://example.com/api/xml?action=sco-info&sco-id=2006334909
-
Analizza la risposta per 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>
L’url-path ha sia le barre iniziali che finali. Puoi prendere l’url-path da report-my-meetings, report-my-training o qualsiasi chiamata che lo restituisca.
-
Concatena l’url-path con il domain-name:
http://example.com/f2006258748/
Download di file
Puoi scaricare i file .zip da Adobe Connect sul computer locale di un utente. Un file .zip è uno SCO. Per scaricarlo, devi creare un URL di download per il file .zip simile al seguente:
http://server-domain/url-path/output/url-path.zip?download=zip
Probabilmente conosci già il nome di dominio del server (ad esempio example.com). In caso contrario, puoi ottenerlo chiamando sco-shortcuts.
Download di un file .zip dal server
-
Chiama sco-shortcuts:
https://example.com/api/xml?action=sco-shortcuts
-
Estrai qualsiasi valore domain-name dalla risposta:
http://example.com
-
Chiama sco-info con il valore sco-id del file .zip:
https://example.com/api/xml?action=sco-info&sco-id=2006258747
Lo SCO è l’intero file .zip.
-
Analizza la risposta per l’elemento 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>
-
Crea l’URL di download, ad esempio:
https://example.com/quiz/output/quiz.zip?download=zip
Assicurati di rimuovere la barra finale dal valore url-path prima di aggiungere .zip, in modo da ottenere un valore come /quiz.zip e non /quiz/.zip).
Verifica delle autorizzazioni
Le autorizzazioni definiscono i modi in cui un’entità principale può interagire con uno SCO.
Una mappatura delle autorizzazioni, che indica quali autorizzazioni sono assegnate a un’entità per un determinato SCO, viene chiamata Access Control List (elenco di controllo degli accessi) o ACL. Un ACL è composto da tre informazioni:
L’ID di un’entità (un principal-id).
L’ID dello SCO, dell’account o dell’entità su cui si sta agendo. Nelle chiamate di autorizzazione, viene chiamato acl-id. In altre chiamate, l’ID può essere chiamato sco-id, account-id o principal-id.
Una parola chiave che indica il livello di autorizzazione dell’entità , uno dei valori validi in permission-id.
Verifica dell’autorizzazione di un’entità su uno SCO
-
Chiama permissions-info con acl-id e principal-id:
https://example.com/api/xml?action=permissions-info&acl-id=2006334909 &principal-id=2006258745
Per verificare la presenza di autorizzazioni per uno SCO, il valore acl-id è uno sco-id. Il valore acl-id può anche essere principal-id o account-id.
-
Analizza la risposta per permission-id:
<?xml version="1.0" encoding="utf-8" ?> <results> <status code="ok" /> <permission acl-id="2007035246" permission-id="view" principal-id="2006258745" /> </results>
Se un’entità non dispone di un’autorizzazione esplicita per lo SCO (in altre parole, se permission-id=""), valgono le autorizzazioni dell’entità sull’oggetto principale dello SCO.
Verifica delle autorizzazioni di tutte le entità in uno SCO
-
Chiama permissions-info con un acl-id, ma non con un principal-id:
https://example.com/api/xml?action=permissions-info&acl-id=2006293572
-
Controlla gli elementi principal e analizzali per i valori 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>
I valori di autorizzazione validi sono elencati in permission-id.