Модуль PortalPy
В этом разделе справки перечислены все классы и методы модуля PortalPy, которые могут использоваться для записи административных скриптов на Portal for ArcGIS.
Класс: Portal
Объект, представляющий URL-адрес подключения к порталу. Чтобы обработать объект Portal, выполните такой код:
PortalPy.Portal(portalUrl, user, password)
Доступные методы Portal перечислены в разделах ниже. Перед началом работы с этими методами примите во внимание следующее:
- Group ID: для многих групповых функций требуется Group ID. ID отличается от имени или заголовка группы. Чтобы определить Group ID, используйте функцию search_groups и введите заголовок группы.
- Time: для многих методов требуется поле time. Все время возвращается в миллисекундах с 1 января 1970. Python ожидает ввода времени в секундах с 1 января 1970, поэтому не забудьте разделить время, полученное от PortalPy на 1000. В следующих примерах показано, как конвертировать время PortalPy во время Python.
group = portalAdmin.get_group('67e1761068b7453693a0c68c92a62e2e') pythontime = time.ctime(group['created']/1000)
Методы PortalPy
Доступные методы Portal описаны ниже.
_init_
Конструктор портала. Требуются URL-адрес портала и, дополнительно, имя пользователя и пароль.
_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
Добавление пользователей в указанную группу. Этот метод можно использовать только если пользователь объекта Portal является либо администратором всего портала, либо исключительным владельцем группы.
add_group_users(self, user_names, group_id)
Аргументы
Параметр | Описание |
---|---|
user_names | обязательное, строковое (string), пользователи, разделенные запятыми |
group_id | обязательное, строковое (string), задающее ID группы |
Возвращаемое значение
Словарь с ключом not_added, который содержит имена пользователей, не добавленных в группу.
create_group
Создает группу и возвращает ее ID, если успешно.
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)
Аргументы
Параметр | Описание |
---|---|
title | обязательное, строковое (string), имя группы |
tags | обязательное, строковое (string), список тегов, разделенный запятыми |
description | дополнительное, строковое (string), подробное описание группы |
snippet | дополнительное, строковое (string), сводка группы длиной не более 250 знаков |
access | дополнительное, строковое (string), может иметь значения private, public или org |
thumbnail | дополнительное, строковое (string), URL-адрес изображения группы |
isInvitationOnly | дополнительное булево (boolean) значение, задает, может ли пользователь присоединяться по запросу |
sort_field | дополнительное, строковое (string), задает сортировку опубликованных в группе элементов |
sort_order | дополнительное, строковое (string), значения asc и desc соответствуют сортировке по возрастанию и по убыванию |
is_view_only | дополнительное булево (boolean) значение, задает возможность поиска группы |
Возвращаемое значение
Строковое (string), являющееся ID группы.
create_group_from_dict
Создает группу и возвращает ее ID, если успешно. В большинстве случаев рекомендуется использовать create_group, т.к. этот метод может взять групповой словарь, возвращенный другим запросом PortalPy, и скопировать его.
create_group_from_dict(self, group, thumbnail=None)
Аргументы
Параметр | Описание |
---|---|
group | объект dict |
thumbnail | URL-адрес изображения |
Пример:
create_group({'title': 'Test', 'access':'public'})
delete_group
Удаляет группу.
delete_group(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | Строка с id группы, которая будет удалена. |
Возвращаемое значение
Булево (boolean) значение, указывающее, успешно ли выполнена операция.
delete_user
Удаляет пользователя портала, дополнительно удаляет или переназначает группы и элементы. Вы не можете удалить пользователя портала, если ему принадлежат группы или элементы. Если вы выбрали каскадный режим, эти элементы и группы будут переназначены пользователю, указанному опцией reassign_to. Если нет, удаление может быть успешным или неудачным, в зависимости от того, были ли ранее перемещены элементы и группы пользователя.
При каскадном режиме метод может удалить до 10000 элементов. Если пользователю принадлежат более 10000 элементов, метод не сработает.
delete_user(self, username, cascade=False, reassign_to=None)
Аргументы
Параметр | Описание |
---|---|
username | обязательное, строковое (string), имя пользователя |
cascade | дополнительное булево (boolean) значение, true означает переназначение элементов и групп |
reassign_to | дополнительное, строковое (string), новый владелец элементов и групп |
Возвращаемое значение
Булево (boolean) значение, указывающее, успешно ли выполнена операция.
generate_token
Генерирует и возвращает новый токен, но не выполняет повторный вход. Этот метод не требуется при использовании класса Portal для запросов к порталу. Он предназначен для обращений к порталу извне класса Portal.
Портал использует механизм авторизации с помощью токенов, когда пользователь указывает свои учетные данные и для обращений применяется краткосрочный токен. Большинство вызовов к ArcGIS REST API требуют токена, и его можно присоединить к данным запросам.
generate_token(self, username, password, expiration=60)
Аргументы
Параметр | Описание |
---|---|
username | обязательное, строковое (string), имя пользователя |
password | обязательное, строковое (string), пароль пользователя |
expiration | дополнительное целочисленное (integer), число минут до окончания действия токена |
Возвращаемое значение
Строка с токеном.
get_group
Возвращает сведения о группе для заданного group_id.
get_group(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | обязательное, строковое (string), обозначение группы |
Возвращаемое значение
Объект dictionary со сведениями о группе. Ключи в объекте dictionary могут содержать:
Параметр | Описание |
---|---|
title | имя группы |
isInvitationOnly | если задано true, пользователи не могут подавать заявку на присоединение к группе |
owner | имя владельца группы |
description | описание группы |
snippet | Краткая сводка о группе |
tags | пользовательские теги, описывающие группу |
phone | контактная информация группы |
thumbnail | имя файла относительно http://<community-url>/groups/<groupId>/info |
created | время создания группы, в миллисекундах с 1 января 1970 |
modified | время последнего изменения группы, в миллисекундах с 1 января 1970 |
access | может иметь значения private, public или org |
userMembership | словарь с ключами username и memberType |
memberType | обеспечивает доступ вызывающему пользователю (owner, admin, member, none) |
get_group_members
Возвращает участников указанной группы.
get_group_members(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | обязательное, строковое (string), обозначение группы |
Возвращаемое значение
Словарь с ключами owner, admins и users.
Параметр | Описание |
---|---|
owner | строковое значение, владелец группы |
admins | список строк, обычно те же, что и owner |
users | список строк, участники группы |
Пример:
Печать списка пользователей группы:
response = portal.get_group_members("67e1761068b7453693a0c68c92a62e2e")
for user in response['users'] :
print user
get_group_thumbnail
Возвращает байты эскиза для заданного group_id.
get_group_thumbnail(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | обязательное, строковое (string), задает эскиз группы |
Возвращаемое значение
Байты, представляющие собой изображение.
Пример:
response = portal.get_group_thumbnail("67e1761068b7453693a0c68c92a62e2e")
f = open(filename, 'wb')
f.write(response)
get_org_users
Возвращает всех пользователей портала организации.
get_org_users(self, max_users=1000)
Аргументы
Параметр | Описание |
---|---|
max_users | дополнительное целочисленное (integer), максимальное число возвращаемых пользователей |
Возвращаемое значение
Список словарей. Каждый словарь имеет следующие ключи:
Ключ | Значение |
---|---|
username | строковое (string) |
storageUsage | целочисленное (integer) |
storageQuota | целочисленное (integer) |
description | строковое (string) |
tags | список строк (list of strings) |
region | строковое (string) |
created | целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 |
modified | целочисленное (integer), время последнего изменения учетной записи, в миллисекундах с 1 января 1970 |
строковое (string) | |
culture | строковое (string) |
orgId | строковое (string) |
preferredView | строковое (string) |
groups | список строк (list of strings) |
role | строковое (string) (org_user, org_publisher, org_admin) |
fullName | строковое (string) |
thumbnail | строковое (string) |
idpUsername | строковое (string) |
Пример:
Печать имен всех пользователей портала
resp = portalAdmin.get_org_users()
for user in resp:
print user['username']
get_properties
Возвращает свойства портала, используется кэш, если не задано force=True.
get_properties(self, force=False)
get_user
Возвращает сведения о пользователе для заданного имени.
get_user(self, username)
Аргументы
Параметр | Описание |
---|---|
username | обязательное, строковое (string), имя пользователя, сведения о котором вам нужны |
Возвращаемое значение
Если пользователь найден, возвращает объект dictionary со следующими ключами. Если пользователь не найден, не возвращается ничего.
Ключ | Значение |
---|---|
access | строковое (string) |
created | целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 |
culture | строковое (string), двухбуквенный код языка ('en') |
description | строковое (string) |
строковое (string) | |
fullName | строковое (string) |
idpUsername | строковое (string), имя пользователя в корпоративной системе |
groups | список словарей. Список ключей словаря см. в разделе get_group. |
modified | целочисленное (integer), время последнего изменения учетной записи, в миллисекундах с 1 января 1970 |
orgId | строковое (string), ID организации |
preferredView | строковое (string), значение Web, GIS или null |
region | строковое (string), none или двухбуквенный код страны |
role | строковое (string) (org_user, org_publisher, org_admin) |
storageUsage | целочисленное (integer) |
storageQuota | целочисленное (integer) |
tags | список строк (list of strings) |
thumbnail | строковое (string) |
username | строковое (string) |
get_version
Возвращает номер версии ПО, используется кэш, если не задано force=True. Информация о версии извлекается при создании объекта portal и кэшируется для будущих запросов. Если вы хотите создать запрос к порталу не обращаясь к кэшу, задайте аргументу force значение True.
get_version(self, force=False)
Аргументы
Параметр | Описание |
---|---|
force | булево (boolean) значение, true=создать запрос, false=использовать кэш |
Возвращаемое значение
Строка с номером версии. Версия – это внутренний номер, который может не совпадать с версией установленного продукта.
invite_group_users
Приглашает пользователей в группу. Пользователь, приглашенный в группу, увидит список приглашений на закладке Группы в портале. Пользователь может принять или отклонить приглашение. Пользователь, выполняющий команду, должен быть владельцем группы.
invite_group_users(self, user_names, group_id, role='group_member', expiration=10080)
Аргументы
Параметр | Описание |
---|---|
user_names | обязательное, строковое (string), список приглашаемых пользователей, разделенный запятыми |
group_id | обязательное, строковое (string), ID группы, в которую приглашаются пользователи |
role | дополнительное, строковое (string), group_member или group_admin |
expiration | дополнительное целочисленное (integer), длительность действия приглашения (в минутах) |
Возвращаемое значение
Булево (boolean) значение, указывающее, успешно ли выполнена операция.
is_all_ssl
Возвращает true, если порталу требуется SSL.
is_all_ssl(self)
is_logged_in
Возвращает true, если пользователь вошел на портал.
is_logged_in(self)
is_org
Возвращает true, если порталом является организация.
is_org(self)
leave_group
Удаляет вошедшего пользователя из указанной группы. Необходимо, чтобы пользователь уже выполнил вход.
leave_group(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | обязательное, строковое (string), задающее ID группы |
Возвращаемое значение
Булево (boolean) значение, указывающее, успешно ли выполнена операция.
logged_in_user
Возвращает сведения о вошедшем пользователе.
logged_in_user(self)
Возвращаемое значение
Словарь со следующими ключами:
Ключ | Значение |
---|---|
username | строковое (string) |
storageUsage | целочисленное (integer) |
описание | строковое (string) |
tags | строка с разделителями-запятыми |
created | целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 |
modified | целочисленное (integer), время последнего изменения учетной записи, в миллисекундах с 1 января 1970 |
fullName | строковое (string) |
строковое (string) | |
idpUsername | строковое (string), имя пользователя в корпоративной системе |
login
Входит на портал с указанием имени пользователя и пароля. Вы можете войти на портал при создании объекта portal или сделать это позже. Эта функция предназначена для ситуации, когда необходимо выполнить вход позже.
login(self, username, password, expiration=60)
Аргументы
Параметр | Описание |
---|---|
username | обязательное, строковое (string) |
password | обязательное, строковое (string) |
expiration | дополнительное целочисленное (integer), длительность действия сгенерированного токена |
Возвращаемое значение
Строка с токеном.
logout
Выход из портала. Портал "забудет" все имеющиеся токены, которые он использовал, все последующие обращения к порталу будут анонимными до следующего входа.
logout(self)
Возвращаемое значение
Нет возвращаемого значения
reassign_group
Переназначает группу другому владельцу.
reassign_group(self, group_id, target_owner)
Аргументы
Параметр | Описание |
---|---|
group_id | обязательное, строковое (string), уникальный идентификатор группы |
target_owner | обязательное, строковое (string), имя пользователя нового владельца группы |
Возвращаемое значение
Булево (boolean) значение, показывающее, успешно ли выполнена операция или нет.
remove_group_users
Удаляет пользователей из группы.
remove_group_users(self, user_names, group_id)
Аргументы
Параметр | Описание |
---|---|
user_names | обязательное, строковое (string), список пользователей, разделенный запятыми |
group_id | обязательное, строковое (string), уникальный идентификатор группы |
Возвращаемое значение
Словарь с ключом notRemoved, список пользователей, которые не были удалены.
reset_user
Сбрасывает пароль пользователя, секретный вопрос и ответ. Эта функция неприменима к порталам с учетными записями из корпоративного хранилища идентификаций, таких как ActiveDirectory или LDAP. Применяется только к встроенным пользователям портала. Если указан новый секретный вопрос, следует задать новый ответ.
reset_user(self, username, password, new_password=None, new_security_question=None, new_security_answer=None)
Аргументы
Параметр | Описание |
---|---|
username | обязательное, строковое (string), сбрасываемая учетная запись |
password | обязательное, строковое (string), текущий пароль |
new_password | дополнительное, строковое (string), новый пароль, если сбрасывается старый |
new_security_question | дополнительное целочисленное (integer), новый секретный вопрос, если требуется |
new_security_answer | дополнительное, строковое (string), новый ответ на секретный вопрос, если требуется |
Возвращаемое значение
Булево (boolean) значение, показывающее, успешно ли выполнена операция или нет.
search
search(self, q, bbox=None, sort_field='title', sort_order='asc', max_results=1000, add_org=True)
search_groups
Поиск групп портала. При использовании этого способа учитывайте следующее:
- Синтаксис запроса имеет много особенностей, которые здесь не описываются; чтобы просмотреть их, обратитесь к разделу Поиск в ArcGIS REST API.
- При поиске групп обычно выполняется поиск в пределах вашей организации. Для удобства этот метод автоматически присоединяет ID вашей организации к запросу. Если вы не хотите присоединять его, присвойте для add_org значение false.
search_groups(self, q, sort_field='title', sort_order='asc', max_groups=1000, add_org=True)
Аргументы
Параметр | Описание |
---|---|
q | обязательное, строковое (string), строка запроса |
sort_field | дополнительное, строковое (string), значениями могут быть заголовок, владелец или дата создания |
sort_order | дополнительное, строковое (string), значениями могут быть asc или desc |
max_groups | дополнительное целочисленное (integer), максимальное число возвращаемых групп |
add_org | дополнительное булево (boolean) значение, задает возможность поиска в пределах организации |
Возвращаемое значение
Список словарей. Каждый словарь имеет следующие ключи:
Ключ | Значение |
---|---|
access | строковое (string), значения private, org или public |
создан | целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 |
description | строковое (string) |
id | строковое (string), уникальный id группы |
isInvitationOnly | булево (boolean) |
isViewOnly | булево (boolean) |
modified | целочисленное (integer), время последнего изменения учетной записи, в миллисекундах с 1 января 1970 |
owner | строковое, имя пользователя или владельца |
phone | строковое (string) |
snippet | строковое (string), краткая сводка о группе |
sortField | строковое (string), сортировка общедоступных элементов |
sortOrder | строковое (string), по возрастанию или по убыванию |
tags | список строк, введенные пользователем теги для поиска |
thumbnail | строковое (string), имя файла. Присоединить к http://<community url>/groups/<group id>/info/ |
title | строковое (string), имя группы, отображаемое для пользователей |
search_users
Поиск пользователей портала. При использовании этого способа учитывайте следующее:
- Синтаксис запроса имеет много особенностей, которые здесь не описываются; чтобы просмотреть их, обратитесь к разделу Поиск в ArcGIS REST API.
- При поиске пользователей обычно выполняется поиск в пределах вашей организации. Для удобства этот метод автоматически присоединяет ID вашей организации к запросу. Если вы не хотите присоединять его, присвойте для add_org значение false.
search_users(self, q, sort_field='username', sort_order='asc', max_users=1000, add_org=True)
Аргументы
Параметр | Описание |
---|---|
q | обязательное, строковое (string), строка запроса |
sort_field | дополнительное, строковое (string), значениями могут быть заголовок, владелец или дата создания |
sort_order | дополнительное, строковое (string), значениями могут быть asc или desc |
max_users | дополнительное целочисленное (integer), максимальное число возвращаемых пользователей |
add_org | дополнительное булево (boolean) значение, задает возможность поиска в пределах организации |
Возвращаемое значение
Список словарей. Каждый словарь имеет следующие ключи:
Ключ | Значение |
---|---|
created | целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 |
culture | строковое (string), двухбуквенный код языка |
description | строковое (string) |
fullName | строковое (string), имя пользователя |
modified | целочисленное (integer), время последнего изменения учетной записи, в миллисекундах с 1 января 1970 |
region | строковое (string), может иметь значение none |
tags | список строк, введенные пользователем теги для поиска |
thumbnail | строковое (string), имя файла. Присоединить к http://<community url>/groups/<group id>/info/ |
username | строковое (string), имя пользователя |
signup
Выполняет подписку пользователей на Portal for ArcGIS. Этот метод применим только к Portal for ArcGIS и может быть вызван анонимно. Однако самоподписку можно отключить на портале. При этом создаются только встроенные учетные записи; метод не работает с корпоративными учетными записями из корпоративного хранилища идентификаций.
Есть другой метод, createUser, который всегда можно использовать с Portal for ArcGIS 10.2.1 или более новыми версиями. Для этого метода требуется административный доступ, он может использоваться для создания встроенных пользователей и добавления корпоративных учетных записей на портал.
signup(self, username, password, fullname, email)
Аргументы
Параметр | Описание |
---|---|
username | обязательное, строковое (string), должно быть уникально, длиной более 4 знаков |
password | обязательное, строковое (string), длиной больше или равно 8 знакам |
fullname | обязательное, строковое (string), имя пользователя |
обязательное, строковое (string), действующий email адрес |
Возвращаемое значение
Булево (boolean) значение, показывающее, успешно ли выполнена операция или нет.
update_group
Обновляет группу. Необходимо указать значения только для тех аргументов, которые вы хотите обновить.
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)
Аргументы
Параметр | Описание |
---|---|
group_id | обязательное, строковое (string), ID группы для изменения |
title | обязательное, строковое (string), имя группы для изменения |
tags | обязательное, строковое (string), список тегов, разделенный запятыми |
description | дополнительное, строковое (string), подробное описание группы |
snippet | дополнительное, строковое (string), сводка группы длиной не более 250 знаков |
access | дополнительное, строковое (string), может иметь значения private, public или org |
thumbnail | дополнительное, строковое (string), URL-адрес изображения группы |
isInvitationOnly | дополнительное булево (boolean) значение, задает, может ли пользователь присоединяться по запросу |
sort_field | дополнительное, строковое (string), задает сортировку опубликованных в группе элементов |
sort_order | дополнительное, строковое (string), значения asc и desc соответствуют сортировке по возрастанию и по убыванию |
is_view_only | дополнительное булево (boolean) значение, задает, можно ли искать эту группу |
Возвращаемое значение
Булево (boolean) значение, показывающее, успешно ли выполнена операция или нет.
update_user
Обновляет свойства пользователя. Необходимо указать значения только для тех аргументов, которые вы хотите обновить.
update_user(self, username, access=None, preferred_view=None, description=None, tags=None, thumbnail=None, fullname=None, email=None, culture=None, region=None)
Аргументы
Ключ | Значение |
---|---|
username | обязательное, строковое (string), имя пользователя для обновления |
access | дополнительное, строковое (string), значения: private, org, public |
preferred_view | дополнительное, строковое (string), значение: Web, GIS, null |
description | дополнительное, строковое (string), описание пользователя |
tags | дополнительное, строковое (string), разделенный запятыми список тегов для поиска |
thumbnail | дополнительное, строковое (string), путь или url-адрес файла Может использоваться PNG, GIF или JPEG. Максимальный размер 1 МБ. |
fullName | дополнительное, строковое (string), имя пользователя, только для встроенных пользователей |
дополнительное, строковое (string), email адрес, только для встроенных пользователей | |
culture | дополнительное, строковое (string), двухбуквенный код языка, например, "fr". |
region | дополнительное, строковое (string), двухбуквенный код страны, например, FR |
Возвращаемое значение
Булево (boolean) значение, показывающее, успешно ли выполнена операция или нет.
update_user_role
Обновляет роль пользователя.
update_user_role(self, username, role)
Аргументы
Ключ | Значение |
---|---|
username | обязательное, строковое (string), имя пользователя, роль которого изменяется |
role | обязательное, строковое (string), org_user, org_publisher или org_admin |
Возвращаемое значение
Булево (boolean) значение, показывающее, успешно ли выполнена операция или нет.