Module PortalPy

Cette rubrique d'aide répertorie toutes les classes et méthodes du module PortalPy qui vous permettent de rédiger des scripts administratifs avec Portal for ArcGIS.

Classe : Portal

Objet représentant une connexion au portail via une URL. Pour instancier un objet Portal, exécutez le code suivant :

PortalPy.Portal(portalUrl, user, password)

Les méthodes Portal disponibles sont répertoriées ci-dessous. Avant d'utiliser les méthodes, prenez en compte les points suivants :

Méthodes PortalPy

Vous trouverez ci-dessous une description des méthodes Portal disponibles.

_init_

Constructeur du portail. Cette méthode nécessite l'URL du portail et, en option, un nom d'utilisateur et un mot de passe.

_init_(self, url, username=None, password=None, key_file=None, cert_file=None, expiration=60, referer=None, proxy_host=None, proxy_port=None, connection=None, workdir=r'c:\users\davi3690\appdata\local\temp\2')

add_group_users

Cette méthode permet d'ajouter des utilisateurs au groupe spécifié. Vous ne pouvez utiliser cette méthode que si l'utilisateur de l'objet Portal est un administrateur du portail entier ou le propriétaire du groupe.

add_group_users(self, user_names, group_id)

Arguments

Paramètre

Description

user_names

Chaîne obligatoire comprenant des utilisateurs séparés par une virgule.

group_id

Chaîne obligatoire spécifiant l'ID de groupe.

retourner une valeur

Un dictionnaire avec une clé not_added qui contient les utilisateurs non ajoutés au groupe.

create_group

Permet de créer un groupe et renvoie un ID de groupe si la création a réussi.

create_group(self, title, tags, description=None, snippet=None, access='public', thumbnail=None, is_invitation_only=False, sort_field='avgRating', sort_order='desc', is_view_only=False)

Arguments

Paramètre

Description

titre

Chaîne obligatoire indiquant le nom du groupe.

balises

Chaîne obligatoire contenant une liste de balises séparées par une virgule.

description

Chaîne facultative contenant une description détaillée du groupe.

snippet

Chaîne facultative comprenant moins de 250 caractères pour résumer le groupe.

access

Chaîne facultative pouvant contenir les valeurs suivantes : private, public ou org.

miniature

Chaîne facultative correspondant à l'URL de l'image du groupe.

isInvitationOnly

Valeur booléenne facultative qui définit si les utilisateurs peuvent devenir membre en soumettant une requête.

champ_tri

Chaîne facultative qui spécifie les critères de tri des éléments partagés avec le groupe.

sort_order

Chaîne facultative indiquant asc ou desc pour croissant ou décroissant.

is_view_only

Valeur booléenne facultative qui indique s'il est possible de rechercher le groupe.

retourner une valeur

Une chaîne qui correspond à l'ID de groupe.

create_group_from_dict

Permet de créer un groupe et renvoie un ID de groupe si la création a réussi. Dans la plupart des cas, nous recommandons l'utilisation de create_group à la place, car cette méthode permet d'utiliser un dictionnaire de groupes renvoyé par un autre appel PortalPy, et de le copier.

create_group_from_dict(self, group, thumbnail=None)

Arguments

Paramètre

Description

groupe

Objet dict.

miniature

URL vers l'image.

Exemple

create_group({'title': 'Test', 'access':'public'})

delete_group

Permet de supprimer un groupe.

delete_group(self, group_id)

Arguments

Paramètre

Description

group_id

Chaîne contenant l'ID du groupe à supprimer.

retourner une valeur

Une valeur booléenne indiquant si l'opération a réussi ou échoué.

delete_user

Permet de supprimer un utilisateur du portail en supprimant ou en réaffectant éventuellement des groupes et des éléments. Vous ne pouvez pas supprimer du portail un utilisateur qui possède des groupes ou des éléments. Si vous choisissez d'appliquer une cascade, ces éléments et groupes seront réaffectés à l'utilisateur identifié dans l'option reassign_to. Dans le cas contraire, la suppression échouera ou réussira selon que les éléments et groupes de l'utilisateur ont déjà été transférés ou non.

Lorsqu'une cascade est appliquée, cette méthode peut supprimer jusqu'à 10 000 éléments. Si l'utilisateur possède plus de 10 000 éléments, la méthode échouera.

delete_user(self, username, cascade=False, reassign_to=None)

Arguments

Paramètre

Description

username

Chaîne obligatoire indiquant le nom de l'utilisateur.

cascade

Valeur booléenne facultative indiquant True si les éléments et groupes doivent être réaffectés.

reassign_to

Chaîne booléenne facultative identifiant le nouveau propriétaire des éléments et groupes.

retourner une valeur

Une valeur booléenne indiquant si l'opération a réussi ou échoué.

generate_token

Permet de générer et de renvoyer un nouveau jeton sans nouvelle connexion nécessaire. Cette méthode n'est pas nécessaire lorsque vous utilisez la classe Portal pour effectuer des appels sur le portail. Elle permet d'effectuer des appels sur le portail en dehors de la classe Portal.

Le portail utilise un mécanisme d'authentification à base de jetons. Ainsi, l'utilisateur fournit ses informations d'identification et un jeton à court terme permet d'effectuer des appels. La plupart des appels à destination de l'API REST d'ArcGIS nécessitent un jeton qui peut être ajouté à ces requêtes.

generate_token(self, username, password, expiration=60)

Arguments

Paramètre

Description

username

Chaîne obligatoire indiquant le nom de l'utilisateur.

mot de passe

Mot de passe obligatoire de l'utilisateur.

expiration

Entier facultatif indiquant le nombre de minutes restant avant l'expiration du jeton.

retourner une valeur

Une chaîne comportant le jeton.

get_group

Renvoie des informations sur le groupe correspondant au paramètre group_id spécifié.

get_group(self, group_id)

Arguments

Paramètre

Description

group_id

Chaîne obligatoire identifiant le groupe.

retourner une valeur

Un objet dictionnaire contenant les informations du groupe. Parmi les clés figurant dans l'objet dictionnaire, on compte les suivantes :

Paramètre

Description

titre

Nom du groupe.

isInvitationOnly

Si ce paramètre a la valeur True, les utilisateurs ne peuvent pas demander à se joindre au groupe.

propriétaire

Nom d'utilisateur du propriétaire du groupe.

description

Description du groupe.

snippet

Bref résumé du groupe.

balises

Balises définies par l'utilisateur décrivant le groupe.

phone

Coordonnées du groupe.

miniature

Nom de fichier correspondant à http://<community-url>/groups/<groupId>/info.

created

A la création du groupe, durée en millisecondes depuis le 1er janvier 1970.

modifiée

Lors de la dernière modification du groupe, durée en millisecondes depuis le 1er janvier 1970.

access

Peut avoir une des valeurs suivantes : private, org ou public.

userMembership

Dictionnaire avec le nom d'utilisateur des clés et le paramètre memberType.

memberType

Accorde un accès à l'utilisateur qui appelle (owner, admin, member, aucun).

get_group_members

Renvoie les membres du groupe spécifié.

get_group_members(self, group_id)

Arguments

Paramètre

Description

group_id

Chaîne obligatoire identifiant le groupe.

retourner une valeur

Un dictionnaire contenant des clés : owner, admins et users.

Paramètre

Description

propriétaire

Valeur de chaîne identifiant le propriétaire du groupe.

admins

Liste de chaînes habituellement identique à celle correspondant au propriétaire.

utilisateurs

Liste de chaînes identifiant les membres du groupe.

Exemple

Pour imprimer les utilisateurs d'un groupe :

response = portal.get_group_members("67e1761068b7453693a0c68c92a62e2e")
for user in response['users'] :
   print user

get_group_thumbnail

Renvoie les octets qui constituent la miniature du paramètre group_id spécifié.

get_group_thumbnail(self, group_id)

Arguments

Paramètre

Description

group_id

Chaîne obligatoire spécifiant la miniature du groupe.

retourner une valeur

Octets qui représentent l'image.

Exemple

response = portal.get_group_thumbnail("67e1761068b7453693a0c68c92a62e2e")
f = open(filename, 'wb')
f.write(response)

get_org_users

Renvoie tous les utilisateurs de l'organisation du portail.

get_org_users(self, max_users=1000)

Arguments

Paramètre

Description

max_users

Entier facultatif correspondant au nombre maximum d'utilisateurs à renvoyer.

retourner une valeur

Une liste de dictionnaires. Chaque dictionnaire contient les clés suivantes :

Clé

Valeur

username

chaîne

storageUsage

entier

storageQuota

entier

description

chaîne

balises

Liste de chaînes.

région

chaîne

created

Entier, à la création du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

modifiée

Entier, depuis la dernière modification du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

Email

chaîne

culture

chaîne

orgId

chaîne

preferredView

chaîne

Groupe

Liste de chaînes.

rôle

Chaîne (org_user, org_publisher, org_admin).

fullName

chaîne

miniature

chaîne

idpUsername

chaîne

Exemple

Imprimer tous les noms d'utilisateurs du portail :

resp = portalAdmin.get_org_users()
for user in resp:
   print user['username']

get_properties

Renvoie les propriétés du portail à l'aide d'un cache, à moins que force=True.

get_properties(self, force=False)

get_user

Renvoie des informations sur l'utilisateur correspondant au nom d'utilisateur spécifié.

get_user(self, username)

Arguments

Paramètre

Description

username

Chaîne obligatoire indiquant le nom de l'utilisateur sur lequel vous souhaitez obtenir des informations.

retourner une valeur

Si l'utilisateur est trouvé, renvoie un objet dictionnaire contenant les clés suivantes. Dans le cas contraire, aucune information n'est renvoyée.

Clé

Valeur

access

chaîne

created

Entier, à la création du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

culture

Chaîne composée d'un code de langue à deux lettres ('en').

description

chaîne

Email

chaîne

fullName

chaîne

idpUsername

Chaîne indiquant le nom de l'utilisateur dans le système d'entreprise.

Groupe

Liste de dictionnaires. Pour obtenir une liste des clés de dictionnaire, voir get_group.

modifiée

Entier, depuis la dernière modification du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

orgId

Chaîne correspondant à l'ID de l'organisation.

preferredView

Chaîne dont la valeur est Web, GIS ou null.

région

Chaîne vide ou comportant le code à deux lettres du pays.

rôle

Chaîne (org_user, org_publisher, org_admin).

storageUsage

entier

storageQuota

entier

balises

Liste de chaînes.

miniature

chaîne

username

chaîne

get_version

Renvoie le numéro de version du logiciel à l'aide d'un cache, à moins que force=True. Les informations concernant la version sont récupérées lorsque vous créez l'objet portail, puis mises en cache pour les requêtes futures. Pour soumettre une requête sur le portail sans dépendre du cache, vous pouvez définir l'argument force sur True.

get_version(self, force=False)

Arguments

Paramètre

Description

force

Valeur booléenne dont les valeurs sont : True=soumettre une requête, False=utiliser le cache.

retourner une valeur

Chaîne indiquant la version. La version est un numéro interne qui ne correspond pas toujours à celui de la version du produit installé.

invite_group_users

Permet d'inviter des utilisateurs dans un groupe. Un utilisateur invité dans un groupe peut voir une liste des invitations dans l'onglet Groupes du portail. L'utilisateur peut accepter ou refuser l'invitation. L'utilisateur qui exécute la commande doit être le propriétaire du groupe.

invite_group_users(self, user_names, group_id, role='group_member', expiration=10080)

Arguments

Paramètre

Description

user_names

Chaîne obligatoire contenant une liste d'utilisateurs à inviter séparés par une virgule.

group_id

Chaîne obligatoire spécifiant l'ID du groupe dans lequel vous invitez des utilisateurs.

rôle

Chaîne facultative : group_member ou group_admin.

expiration

Entier facultatif qui indique la durée de validité de l'invitation (en minutes).

retourner une valeur

Une valeur booléenne indiquant si l'opération a réussi ou échoué.

is_all_ssl

Renvoie True si le portail nécessite un chiffrement SSL.

is_all_ssl(self)

is_logged_in

Renvoie True si l'utilisateur est connecté au portail.

is_logged_in(self)

is_org

Renvoie True si le portail est une organisation.

is_org(self)

leave_group

Permet de supprimer l'utilisateur connecté du groupe spécifié. L'utilisateur doit être connecté pour pouvoir utiliser cette méthode.

leave_group(self, group_id)

Arguments

Paramètre

Description

group_id

Chaîne obligatoire spécifiant l'ID de groupe.

retourner une valeur

Une valeur booléenne indiquant si l'opération a réussi ou échoué.

logged_in_user

Renvoie des informations sur l'utilisateur connecté.

logged_in_user(self)

retourner une valeur

Un dictionnaire avec les clés suivantes :

Clé

Valeur

username

chaîne

storageUsage

entier

description

chaîne

balises

Chaîne dont les éléments sont séparés par une virgule.

created

Entier, à la création du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

modifiée

Entier, depuis la dernière modification du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

fullName

chaîne

Email

chaîne

idpUsername

Chaîne indiquant le nom de l'utilisateur dans le système d'entreprise.

connexion

Permet de se connecter au portail en saisissant un nom d'utilisateur et un mot de passe. Vous pouvez vous connecter à un portail lorsque vous créez un objet portail ou ultérieurement. Cette fonction vous permet de vous connecter ultérieurement.

login(self, username, password, expiration=60)

Arguments

Paramètre

Description

username

Chaîne obligatoire.

mot de passe

Chaîne obligatoire.

expiration

Entier facultatif indiquant la durée de validité du jeton généré.

retourner une valeur

Une chaîne comportant le jeton.

se déconnecter

Permet de se déconnecter du portail. Le portail oublie les jetons qu'il utilisait et tous les appels suivants transmis au portail seront anonymes jusqu'à ce qu'un autre appel de connexion soit transmis.

logout(self)

retourner une valeur

Aucune valeur renvoyée.

reassign_group

Permet de réaffecter un groupe à un autre propriétaire.

reassign_group(self, group_id, target_owner)

Arguments

Paramètre

Description

group_id

Chaîne obligatoire indiquant l'identifiant unique du groupe.

target_owner

Chaîne obligatoire indiquant le nom d'utilisateur du nouveau propriétaire du groupe.

retourner une valeur

Valeur booléenne indiquant si l'opération a réussi ou échoué.

remove_group_users

Permet de retirer des utilisateurs d'un groupe.

remove_group_users(self, user_names, group_id)

Arguments

Paramètre

Description

user_names

Chaîne obligatoire contenant une liste d'utilisateurs séparés par une virgule.

group_id

Chaîne obligatoire indiquant l'identifiant unique du groupe.

retourner une valeur

Un dictionnaire avec une clé notRemoved indiquant la liste des utilisateurs non supprimés.

reset_user

Permet de réinitialiser le mot de passe, la question de sécurité et la réponse de sécurité d'un utilisateur. Cette fonction ne s'applique pas aux portails configurés avec des comptes provenant d'un magasin d'identifiants d'entreprise, tel que ActiveDirectory ou LDAP. Elle s'applique uniquement aux utilisateurs du portail intégrés. Si une nouvelle question de sécurité est définie, une nouvelle réponse de sécurité doit être fournie.

reset_user(self, username, password, new_password=None, new_security_question=None, new_security_answer=None)

Arguments

Paramètre

Description

username

Chaîne obligatoire identifiant le compte réinitialisé.

mot de passe

Chaîne obligatoire indiquant le mot de passe en vigueur.

Nouveau mot de passe.

Chaîne facultative indiquant le nouveau mot de passe, s'il est réinitialisé.

new_security_question

Chaîne facultative indiquant la nouvelle question de sécurité, le cas échéant.

new_security_answer

Chaîne facultative indiquant la nouvelle réponse à la question de sécurité, le cas échéant.

retourner une valeur

Valeur booléenne indiquant si l'opération a réussi ou échoué.

recherche

search(self, q, bbox=None, sort_field='title', sort_order='asc', max_results=1000, add_org=True)

search_groups

Permet de rechercher des groupes du portail. Tenez compte des points suivants lorsque vous utilisez cette méthode :

  • La syntaxe de la requête présente de nombreuses fonctionnalités non décrites dans ce document. Pour connaître toutes les fonctionnalités, voir Références sur la fonction de recherche dans l'API REST d'ArcGIS.
  • Vous rechercherez le plus souvent des groupes dans votre organisation. Pour faciliter la tâche, la méthode ajoute automatiquement l'ID de votre organisation à la requête. Si vous ne souhaitez pas que l'API l'ajoute à votre requête, définissez add_org sur False.

search_groups(self, q, sort_field='title', sort_order='asc', max_groups=1000, add_org=True)

Arguments

Paramètre

Description

q

Chaîne obligatoire représentant la requête.

champ_tri

Chaîne facultative indiquant des valeurs valides, à savoir : title, owner ou created.

sort_order

Chaîne facultative indiquant les valeurs valides asc ou desc.

max_groups

Entier facultatif indiquant le nombre maximum de groupes renvoyés.

add_org

Valeur booléenne facultative qui détermine si la recherche porte sur votre organisation.

retourner une valeur

Une liste de dictionnaires. Chaque dictionnaire contient les clés suivantes :

Clé

Valeur

access

Chaîne dont les valeurs sont private, org ou public.

created

Entier, à la création du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

description

chaîne

id

Chaîne correspondant à l'id unique du groupe.

isInvitationOnly

Valeur booléenne.

isViewOnly

Valeur booléenne.

modifiée

Entier, depuis la dernière modification du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

propriétaire

Chaîne indiquant le nom d'utilisateur du propriétaire.

phone

chaîne

snippet

Chaîne contenant un bref résumé du groupe.

sortField

Chaîne identifiant la méthode de tri des éléments.

sortOrder

Chaîne indiquant si l'ordre de tri est croissant ou décroissant.

balises

Liste de chaînes représentant des balises de recherche fournies par l'utilisateur.

miniature

Chaîne de nom de fichier. A ajouter à http://<community url>/groups/<group id>/info/

titre

Chaîne du nom du groupe tel qu'il apparaît aux utilisateurs.

search_users

Recherche des utilisateurs du portail. Tenez compte des points suivants lorsque vous utilisez cette méthode :

  • La syntaxe de la requête présente de nombreuses fonctionnalités non décrites dans ce document. Pour connaître toutes les fonctionnalités, voir Références sur la fonction de recherche dans l'API REST d'ArcGIS.
  • Vous rechercherez le plus souvent des utilisateurs dans votre organisation. Pour faciliter la tâche, la méthode ajoute automatiquement l'ID de votre organisation à la requête. Si vous ne souhaitez pas que l'API l'ajoute à votre requête, définissez add_org sur False.

search_users(self, q, sort_field='username', sort_order='asc', max_users=1000, add_org=True)

Arguments

Paramètre

Description

q

Chaîne obligatoire représentant la requête.

champ_tri

Chaîne facultative indiquant des valeurs valides, à savoir : title, owner ou created.

sort_order

Chaîne facultative indiquant les valeurs valides asc ou desc.

max_users

Entier facultatif indiquant le nombre maximum d'utilisateurs renvoyés.

add_org

Valeur booléenne facultative qui détermine si la recherche porte sur votre organisation.

retourner une valeur

Une liste de dictionnaires. Chaque dictionnaire contient les clés suivantes :

Clé

Valeur

created

Entier, à la création du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

culture

Chaîne composée d'un code de langue à deux lettres.

description

chaîne

fullName

Chaîne correspondant au nom de l'utilisateur.

modifiée

Entier, depuis la dernière modification du compte, représentant la durée en millisecondes depuis le 1er janvier 1970.

région

Chaîne facultative.

balises

Liste de chaînes représentant des balises de recherche fournies par l'utilisateur.

miniature

Chaîne de nom de fichier. A ajouter à http://<community url>/groups/<group id>/info/

username

Chaîne correspondant au nom de l'utilisateur.

signup

Permet de connecter des utilisateurs à Portal for ArcGIS. Cette méthode ne s'applique qu'à Portal for ArcGIS et peut être appelée anonymement. Toutefois, vous pouvez également désactiver l'auto-connexion sur le portail. Cette méthode permet de créer uniquement des comptes intégrés. Elle ne fonctionne pas avec les comptes d'entreprise provenant d'un magasin d'identifiants d'entreprise.

Vous pouvez toujours utiliser l'autre méthode createUser avec Portal for ArcGIS 10.2.1 ou des versions ultérieures. La méthode nécessite un accès administrateur et permet également de créer des utilisateurs intégrés ou d'ajouter des comptes d'entreprise au portail.

signup(self, username, password, fullname, email)

Arguments

Paramètre

Description

username

Chaîne obligatoire comportant plus de 4 caractères qui doit être unique sur le portail.

mot de passe

Chaîne obligatoire qui doit comprendre au moins 8 caractères.

fullname

Chaîne obligatoire correspondant au nom de l'utilisateur.

Email

Chaîne obligatoire qui doit représenter une adresse électronique valide.

retourner une valeur

Valeur booléenne indiquant si l'opération a réussi ou échoué.

update_group

Permet de mettre un groupe à jour. Vous ne devez fournir de valeurs que pour les arguments que vous souhaitez mettre à jour.

update_group(self, group_id, title=None, tags=None, description=None, snippet=None, access=None, is_invitation_only=None, sort_field=None, sort_order=None, is_view_only=None, thumbnail=None)

Arguments

Paramètre

Description

group_id

Chaîne obligatoire indiquant l'ID de groupe à modifier.

titre

Chaîne obligatoire indiquant le nom du groupe à modifier.

balises

Chaîne obligatoire contenant une liste de balises séparées par une virgule.

description

Chaîne facultative contenant une description détaillée du groupe.

snippet

Chaîne facultative comprenant moins de 250 caractères pour résumer le groupe.

access

Chaîne facultative pouvant contenir les valeurs suivantes : private, public ou org.

miniature

Chaîne facultative correspondant à l'URL de l'image du groupe.

isInvitationOnly

Valeur booléenne facultative qui définit si les utilisateurs peuvent devenir membre en soumettant une requête.

champ_tri

Chaîne facultative qui spécifie les critères de tri des éléments partagés avec le groupe.

sort_order

Chaîne facultative indiquant asc ou desc pour croissant ou décroissant.

is_view_only

Valeur booléenne facultative qui indique s'il est possible de rechercher le groupe.

retourner une valeur

Valeur booléenne indiquant si l'opération a réussi ou échoué.

update_user

Permet de mettre à jour les propriétés d'un utilisateur. Vous ne devez fournir de valeurs que pour les arguments que vous souhaitez mettre à jour.

update_user(self, username, access=None, preferred_view=None, description=None, tags=None, thumbnail=None, fullname=None, email=None, culture=None, region=None)

Arguments

Clé

Valeur

username

Chaîne obligatoire correspondant au nom de l'utilisateur à mettre à jour.

access

Chaîne facultative dont les valeurs sont private, org ou public.

preferred_view

Chaîne facultative dont les valeurs sont Web, GIS ou null.

description

Chaîne facultative comprenant une description de l'utilisateur.

balises

Chaîne facultative comprenant des balises de recherche séparées par une virgule.

miniature

Chaîne facultative indiquant le chemin d'accès à un fichier ou l'URL correspondante. Les formats possibles sont PNG, GIF ou JPEG. La taille maximale est de 1 Mo.

fullName

Chaîne facultative correspondant au nom de l'utilisateur et limitée aux utilisateurs intégrés.

Email

Chaîne facultative correspondant à l'adresse électronique des utilisateurs intégrés uniquement.

culture

Chaîne facultative composée d'un code de langue à deux lettres, tel que "fr".

région

Chaîne facultative composée d'un code de pays à deux lettres, tel que FR.

retourner une valeur

Valeur booléenne indiquant si l'opération a réussi ou échoué.

update_user_role

Permet de mettre à jour le rôle d'un utilisateur.

update_user_role(self, username, role)

Arguments

Clé

Valeur

username

Chaîne obligatoire indiquant le nom de l'utilisateur dont le rôle va changer.

rôle

Chaîne obligatoire dont les valeurs possibles sont org_user, org_publisher ou org_admin.

retourner une valeur

Valeur booléenne indiquant si l'opération a réussi ou échoué.

5/10/2014