PortalPy モジュール
このトピックの内容
このヘルプ トピックでは、Portal for ArcGIS の管理スクリプトの記述に使用できる、PortalPy モジュールに含まれるすべてのクラスとメソッドについて記載します。
クラス: ポータル
ポータルへの URL 接続を表すオブジェクトです。Portal オブジェクトをインスタンス化するには、次のようなコードを実行します。
PortalPy.Portal(portalUrl, user, password)
使用可能な Portal のメソッドは、次のセクションに示しています。メソッドを操作する前に、以下を検討してください。
- グループ ID - 多くのグループ関数では、グループ ID が必要です。この ID は、グループの名前やタイトルとは異なります。グループ ID を確認するには、search_groups 関数を使用し、タイトルを指定してグループ ID を取得します。
- 時間 - 多くのメソッドは、時間フィールドを返します。すべての時間は、1970 年 1 月 1 日からのミリ秒数を返します。Python では、時間は 1970 年 1 月 1 日からの秒数で表す必要があります。そのため、PortalPy から返された時間を 1000 で割ります。次の例は、PortalPy の時間を Python の時間に変換する方法を示しています。
group = portalAdmin.get_group('67e1761068b7453693a0c68c92a62e2e') pythontime = time.ctime(group['created']/1000)
PortalPy のメソッド
以下では、使用できる Portal のメソッドについて説明します。
_init_
Portal のコンストラクター。これを実行するには、ポータルの 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 | 必須の文字列。カンマ区切りのユーザー。 |
group_id | 必須の文字列。グループ 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 | 必須の文字列。グループの名前。 |
tags | 必須の文字列。カンマ区切りのタグのリスト。 |
description | オプションの文字列。グループの詳細な説明。 |
snippet | オプションの文字列。250 文字未満のグループの要約。 |
access | オプションの文字列。private、public、または org を指定可能。 |
thumbnail | オプションの文字列。グループの画像の URL。 |
isInvitationOnly | オプションのブール値。ユーザーが要求して加入できるかどうかを定義します。 |
sort_field | オプションの文字列。グループで共有されたアイテムの並べ替え方法を指定します。 |
sort_order | オプションの文字列。昇順の場合は asc、降順の場合は desc。 |
is_view_only | オプションのブール値。グループが検索可能かどうかを定義します。 |
戻り値
グループ ID を表す文字列。
create_group_from_dict
グループを作成し、正常に作成した場合はグループ ID を返します。通常は、このメソッドではなく create_group を使用することをお勧めします。このメソッドは、別の PortalPy 呼び出しから返されたグループ ディクショナリを受け取って、それをコピーすることができます。
create_group_from_dict(self, group, thumbnail=None)
引数
パラメーター | 説明 |
---|---|
group | ディクショナリ オブジェクト |
thumbnail | 画像の URL |
例
create_group({'title': 'Test', 'access':'public'})
delete_group
グループを削除します。
delete_group(self, group_id)
引数
パラメーター | 説明 |
---|---|
group_id | 削除されたグループの ID を含む文字列。 |
戻り値
操作が成功したか失敗したかを示すブール値。
delete_user
ユーザーをポータルから削除します。必要に応じて、グループとアイテムを削除または再割り当てします。ポータルのユーザーがグループまたはアイテムを所有している場合、そのユーザーを削除することはできません。カスケードすることを選択した場合、それらのアイテムとグループは、reassign_to オプションで指定したユーザーに再割り当てされます。カスケードしないことを選択した場合、削除が成功するか失敗するかは、ユーザーのアイテムとグループがすでに転送されているかどうかによって変わります。
カスケードする場合、このメソッドは最大 10,000 個のアイテムを削除します。ユーザーが 10,000 個よりも多くのアイテムを持っている場合、このメソッドは失敗します。
delete_user(self, username, cascade=False, reassign_to=None)
引数
パラメーター | 説明 |
---|---|
username | 必須の文字列。ユーザーの名前。 |
cascade | オプションのブール値。true を指定すると、アイテムとグループを再割り当てします。 |
reassign_to | オプションの文字列。アイテムとグループの新しい所有者。 |
戻り値
操作が成功したか失敗したかを示すブール値。
generate_token
新しいトークンを生成して返しますが、再度ログインはしません。Portal クラスを使用してポータルを呼び出す場合、このメソッドは不要です。このメソッドは、Portal クラスの外部でポータルを呼び出す場合のために提供されています。
ポータルでは、トークンベースの認証メカニズムが使用されます。この認証機構では、呼び出すためにユーザーが認証情報を入力し、短期間有効なトークンが使用されます。ArcGIS REST API に対して行われるほとんどの呼び出しでは、トークンが必要になります。このトークンは、ArcGIS REST API に対するリクエストに追加できます。
generate_token(self, username, password, expiration=60)
引数
パラメーター | 説明 |
---|---|
username | 必須の文字列。ユーザーの名前。 |
password | 必須の文字列。ユーザーのパスワード。 |
expiration | オプションの整数。トークンの有効期限が切れるまでの時間 (分)。 |
戻り値
トークンを含む文字列。
get_group
指定された group_id のグループ情報を返します。
get_group(self, group_id)
引数
パラメーター | 説明 |
---|---|
group_id | 必須の文字列。グループを示します。 |
戻り値
グループの情報を含むディクショナリ オブジェクト。ディクショナリ オブジェクトに含まれる可能性のあるキーを以下に示します。
パラメーター | 説明 |
---|---|
title | グループの名前。 |
isInvitationOnly | true に設定されている場合、ユーザーはこのグループへの加入を申し込むことができません。 |
owner | グループの所有者のユーザー名。 |
description | グループの説明。 |
snippet | グループの簡単な要約。 |
tags | グループを説明するユーザー定義タグ。 |
phone | グループの連絡先情報。 |
thumbnail | http://<community-url>/groups/<groupId>/info に関連するファイル名。 |
created | グループが作成された時間 (1970 年 1 月 1 日からのミリ秒)。 |
modified | グループが最後に変更された時間 (1970 年 1 月 1 日からのミリ秒)。 |
access | 可能な値は、private、org、または public です。 |
userMembership | username および memberType というキーを含むディクショナリ。 |
memberType | 呼び出し元ユーザーのアクセス権限 (owner、admin、member、none) を示します。 |
get_group_members
指定されたグループのメンバーを返します。
get_group_members(self, group_id)
引数
パラメーター | 説明 |
---|---|
group_id | 必須の文字列。グループを示します。 |
戻り値
キー (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 | 必須の文字列。グループのサムネイルを指定します。 |
戻り値
画像を表すバイト。
例
response = portal.get_group_thumbnail("67e1761068b7453693a0c68c92a62e2e")
f = open(filename, 'wb')
f.write(response)
get_users
ポータルの組織内のすべてのユーザーを返します。
get_users(self, max_users=1000)
引数
パラメーター | 説明 |
---|---|
max_users | オプションの整数。返されるユーザーの最大数。 |
戻り値
ディクショナリのリスト。各ディクショナリには、以下のキーが含まれています。
キー | 値 |
---|---|
username | 文字列 |
storageUsage | 整数 |
storageQuota | 整数 |
description | 文字列 |
tags | 文字列のリスト |
region | 文字列 |
created | 整数。アカウントが作成された時間 (1970 年 1 月 1 日からのミリ秒)。 |
modified | 整数。アカウントが最後に変更された時間 (1970 年 1 月 1 日からのミリ秒)。 |
文字列 | |
culture | 文字列 |
orgId | 文字列 |
preferredView | 文字列 |
groups | 文字列のリスト |
role | 文字列 (user、publisher、admin、<custom_role_name>)。<custom_role_name> は、カスタム ロールの名前 (たとえば、hostedservicepublisher) です。 レガシー:Portal for ArcGIS 10.3 以前のバージョンでは、カスタム ロール以外に使用できる値は org_user、org_publisher、org_admin でした。10.3.1 では、これらの値は廃止され、上記の値に置き換えられました。10.3.1 でも従来の値を使用できますが、今後のリリースでは使用できなくなる可能性がありますので注意してください。 |
fullName | 文字列 |
thumbnail | 文字列 |
idpUsername | 文字列 |
例
次の例では、ポータル内のすべてのユーザー名を出力しています。
resp = portalAdmin.get_users()
for user in resp:
print user['username']
get_properties
ポータルのプロパティを返します。force=True を指定しなければ、キャッシュが使用されます。
get_properties(self, force=False)
get_user
指定されたユーザー名のユーザー情報を返します。
get_user(self, username)
引数
パラメーター | 説明 |
---|---|
username | 必須の文字列。必要な情報を持つユーザー名。 |
戻り値
ユーザーが見つかった場合、以下のキーを含むディクショナリ オブジェクトを返します。ユーザーが見つからなかった場合は、何も返されません。
キー | 値 |
---|---|
access | 文字列 |
created | 整数。アカウントが作成された時間 (1970 年 1 月 1 日からのミリ秒)。 |
culture | 文字列。2 文字の言語コード (en)。 |
description | 文字列 |
文字列 | |
fullName | 文字列 |
idpUsername | 文字列。エンタープライズ システム内のユーザーの名前。 |
groups | ディクショナリのリスト。ディクショナリのキーのリストについては、「get_group」をご参照ください。 |
modified | 整数。アカウントが最後に変更された時間 (1970 年 1 月 1 日からのミリ秒)。 |
orgId | 文字列。組織 ID。 |
preferredView | 文字列。値は、Web、GIS、または null のいずれかです。 |
region | 文字列。none または 2 文字の国コード。 |
role | 文字列 (user、publisher、admin、<custom_role_name>)。<custom_role_name> は、カスタム ロールの名前 (たとえば、hostedservicepublisher) です。 レガシー:Portal for ArcGIS 10.3 以前のバージョンでは、カスタム ロール以外に使用できる値は org_user、org_publisher、org_admin でした。10.3.1 では、これらの値は廃止され、上記の値に置き換えられました。10.3.1 でも従来の値を使用できますが、今後のリリースでは使用できなくなる可能性がありますので注意してください。 |
storageUsage | 整数 |
storageQuota | 整数 |
tags | 文字列のリスト |
thumbnail | 文字列 |
username | 文字列 |
get_version
ソフトウェアのバージョン番号を返します。force=True を指定しなければ、キャッシュが使用されます。Portal オブジェクトを作成すると、バージョン情報が取得され、それ以降のリクエストのためにキャッシュされます。キャッシュを使用せずにポータルに情報を要求する場合、force 引数を True に設定します。
get_version(self, force=False)
引数
パラメーター | 説明 |
---|---|
force | ブール値。true = 情報を要求、false = キャッシュを使用。 |
戻り値
バージョンを含む文字列。バージョンは内部番号であり、インストールされている製品のバージョンとは一致しない場合があります。
invite_group_users
ユーザーをグループに招待します。グループに招待されたユーザーには、ポータルの [グループ] タブ内に招待のリストが表示されます。そのユーザーは、招待を承諾するか、拒否することができます。このコマンドを実行するユーザーは、グループの所有者である必要があります。
invite_group_users(self, user_names, group_id, role='group_member', expiration=10080)
引数
パラメーター | 説明 |
---|---|
user_names | 必須の文字列。招待するユーザーのカンマ区切りのリスト。 |
group_id | 必須の文字列。ユーザーを招待するグループの ID を指定します。 |
role | オプションの文字列。group_member または group_admin。 |
expiration | オプションの整数。招待の有効期限 (分) を指定します。 |
戻り値
操作が成功したか失敗したかを示すブール値。
is_all_ssl
ポータルが SSL を必要とする場合、true を返します。
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 | 必須の文字列。グループ ID を指定します。 |
戻り値
操作が成功したか失敗したかを示すブール値。
logged_in_user
ログインしているユーザーに関する情報を返します。
logged_in_user(self)
戻り値
以下のキーを含むディクショナリが返されます。
キー | 値 |
---|---|
username | 文字列 |
storageUsage | 整数 |
description | 文字列 |
tags | カンマ区切りの文字列 |
created | 整数。アカウントが作成された時間 (1970 年 1 月 1 日からのミリ秒)。 |
modified | 整数。アカウントが最後に変更された時間 (1970 年 1 月 1 日からのミリ秒)。 |
fullName | 文字列 |
文字列 | |
idpUsername | 文字列。エンタープライズ システム内のユーザーの名前。 |
login
ユーザー名とパスワードを指定してポータルにログインします。Portal オブジェクトを作成するときにポータルにログインできますが、後でログインすることもできます。この関数は、後でログインに使用します。
login(self, username, password, expiration=60)
引数
パラメーター | 説明 |
---|---|
username | 必須の文字列 |
password | 必須の文字列 |
expiration | オプションの整数。生成されたトークンの有効期限。 |
戻り値
トークンを含む文字列。
logout
ポータルからログアウトします。ポータルで使用されていた既存のトークンは、すべて消去されます。それ以降、別の login 呼び出しが発生するまで、ポータルの呼び出しは匿名になります。
logout(self)
戻り値
戻り値はありません。
reassign_group
グループを別の所有者に再割り当てします。
reassign_group(self, group_id, target_owner)
引数
パラメーター | 説明 |
---|---|
group_id | 必須の文字列。グループの一意の ID。 |
target_owner | 必須の文字列。新しいグループの所有者のユーザー名。 |
戻り値
操作が成功したか失敗したかを示すブール値。
remove_group_users
ユーザーをグループから削除します。
remove_group_users(self, user_names, group_id)
引数
パラメーター | 説明 |
---|---|
user_names | 必須の文字列。カンマ区切りのユーザーのリスト。 |
group_id | 必須の文字列。グループの一意の ID。 |
戻り値
notRemoved というキーを含むディクショナリ。削除されなかったユーザーのリストを示します。
reset_user
ユーザーのパスワード、セキュリティの質問、セキュリティの答えをリセットします。この関数は、ActiveDirectory や LDAP などのエンタープライズ アイデンティティ ストアのアカウントを使用するように構成されたポータルには適用されません。この関数は、組み込みポータル ユーザーにのみ適用されます。新しいセキュリティの質問を指定した場合、新しいセキュリティの答えが指定されます。
reset_user(self, username, password, new_password=None, new_security_question=None, new_security_answer=None)
引数
パラメーター | 説明 |
---|---|
username | 必須の文字列。リセット対象のアカウント。 |
password | 必須の文字列。現在のパスワード。 |
new_password | オプションの文字列。パスワードをリセットする場合の新しいパスワード。 |
new_security_question | オプションの文字列。必要に応じて、新しいセキュリティの質問を指定します。 |
new_security_answer | オプションの文字列。必要に応じて、新しいセキュリティの質問の答えを指定します。 |
戻り値
操作が成功したか失敗したかを示すブール値。
search
search(self, q, bbox=None, sort_field='title', sort_order='asc', max_results=1000, add_org=True)
search_groups
ポータル グループを検索します。このメソッドを使用する場合、以下を検討してください。
- クエリ構文には、ここでは説明されていない多くの機能があります。すべての機能を確認するには、ArcGIS REST API の検索リファレンスをご参照ください。
- グループを検索する場合、通常は自分の組織内を検索します。便宜のため、このメソッドでは、デフォルトで自動的に組織 ID がクエリに追加されます。API によって自動的にクエリに追加されないようにする場合、add_org を false に設定します。
search_groups(self, q, sort_field='title', sort_order='asc', max_groups=1000, add_org=True)
引数
パラメーター | 説明 |
---|---|
q | 必須の文字列。クエリ文字列。 |
sort_field | オプションの文字列。有効な値は、title、owner、または created です。 |
sort_order | オプションの文字列。有効な値は、asc または desc です。 |
max_groups | オプションの整数。返されるグループの最大数。 |
add_org | オプションのブール値。自分の組織内を検索するかどうかを制御します。 |
戻り値
ディクショナリのリスト。各ディクショナリには、以下のキーが含まれています。
キー | 値 |
---|---|
access | 文字列。値は、private、org、または public です。 |
created | 整数。アカウントが作成された時間 (1970 年 1 月 1 日からのミリ秒)。 |
description | 文字列 |
id | 文字列。グループの一意の ID。 |
isInvitationOnly | ブール値 |
isViewOnly | ブール値 |
modified | 整数。アカウントが最後に変更された時間 (1970 年 1 月 1 日からのミリ秒)。 |
owner | 文字列。所有者のユーザー名。 |
phone | 文字列 |
snippet | 文字列。グループの簡単な要約。 |
sortField | 文字列。共有アイテムの並べ替え方法。 |
sortOrder | 文字列。ascending または descending。 |
tags | 文字列のリスト。検索対象のユーザー指定タグ。 |
thumbnail | 文字列。ファイルの名前。http://<community url>/groups/<group id>/info/ に追加されます。 |
title | 文字列。ユーザーに表示されるグループ名。 |
search_users
ポータル ユーザーを検索します。このメソッドを使用する場合、以下を検討してください。
- クエリ構文には、ここでは説明されていない多くの機能があります。すべての機能を確認するには、ArcGIS REST API の検索リファレンスをご参照ください。
- ユーザーを検索する場合、通常は自分の組織内を検索します。便宜のため、このメソッドでは、デフォルトで自動的に組織 ID がクエリに追加されます。API によって自動的にクエリに追加されないようにする場合、add_org を false に設定します。
search_users(self, q, sort_field='username', sort_order='asc', max_users=1000, add_org=True)
引数
パラメーター | 説明 |
---|---|
q | 必須の文字列。クエリ文字列。 |
sort_field | オプションの文字列。有効な値は、title、owner、または created です。 |
sort_order | オプションの文字列。有効な値は、asc または desc です。 |
max_users | オプションの整数。返されるユーザーの最大数。 |
add_org | オプションのブール値。自分の組織内を検索するかどうかを制御します。 |
戻り値
ディクショナリのリスト。各ディクショナリには、以下のキーが含まれています。
キー | 値 |
---|---|
created | 整数。アカウントが作成された時間 (1970 年 1 月 1 日からのミリ秒)。 |
culture | 文字列。2 文字の言語コード。 |
description | 文字列 |
fullName | 文字列。ユーザー名。 |
modified | 整数。アカウントが最後に変更された時間 (1970 年 1 月 1 日からのミリ秒)。 |
region | 文字列。none である場合があります。 |
tags | 文字列のリスト。検索対象のユーザー指定タグ。 |
thumbnail | 文字列。ファイルの名前。http://<community url>/groups/<group id>/info/ に追加されます。 |
username | 文字列。ユーザー名。 |
signup
ユーザーを Portal for ArcGIS にサイン アップします。このメソッドは、Portal for ArcGIS にのみ適用され、匿名で呼び出すことができます。ただし、ポータルでは、自己サイン アップを無効にすることもできます。また、このメソッドは、組み込みアカウントのみを作成します。エンタープライズ アイデンティティ ストアのエンタープライズ アカウントを操作することはできません。
Portal for ArcGIS 10.2.1 以降に対して必ず使用できる、createUser という名前の別のメソッドもあります。このメソッドは、管理者アクセス権限を必要とし、組み込みユーザーの作成やエンタープライズ アカウントのポータルへの追加に使用することができます。
signup(self, username, password, fullname, email)
引数
パラメーター | 説明 |
---|---|
username | 必須の文字列。ポータル内で一意であり、5 文字以上である必要があります。 |
password | 必須の文字列。8 文字以上である必要があります。 |
fullname | 必須の文字列。ユーザー名。 |
必須の文字列。有効な電子メール アドレスを指定する必要があります。 |
戻り値
操作が成功したか失敗したかを示すブール値。
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 | 必須の文字列。変更するグループの ID。 |
title | 必須の文字列。更新するグループの名前。 |
tags | 必須の文字列。カンマ区切りのタグのリスト。 |
description | オプションの文字列。グループの詳細な説明。 |
snippet | オプションの文字列。250 文字未満のグループの要約。 |
access | オプションの文字列。private、public、または org を指定可能。 |
thumbnail | オプションの文字列。グループの画像の URL。 |
isInvitationOnly | オプションのブール値。ユーザーが要求して加入できるかどうかを定義します。 |
sort_field | オプションの文字列。グループで共有されたアイテムの並べ替え方法を指定します。 |
sort_order | オプションの文字列。昇順の場合は asc、降順の場合は desc。 |
is_view_only | オプションのブール値。グループが検索可能かどうかを定義します。 |
戻り値
操作が成功したか失敗したかを示すブール値。
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 | 必須の文字列。更新するユーザー名。 |
access | オプションの文字列。値は、private、org、public です。 |
preferred_view | オプションの文字列。値は、Web、GIS、NULL です。 |
description | オプションの文字列。ユーザーの説明。 |
tags | オプションの文字列。検索対象のカンマ区切りのタグ。 |
thumbnail | オプションの文字列。ファイルのパスまたは URL。PNG、GIF、または JPEG ファイルを指定できます。最大サイズは、1 MB です。 |
fullName | オプションの文字列。ユーザーの名前 (組み込みユーザーの場合のみ)。 |
オプションの文字列。電子メール アドレス (組み込みユーザーの場合のみ)。 | |
culture | オプションの文字列。2 文字の言語コード (たとえば、「fr」)。 |
region | オプションの文字列。2 文字の国コード (たとえば、「FR」)。 |
戻り値
操作が成功したか失敗したかを示すブール値。
update_user_role
ユーザーのロールを更新します。
update_user_role(self, username, role)
引数
キー | 値 |
---|---|
username | 必須の文字列。ロールを変更するユーザーの名前。 |
role | 必要な文字列は、user、publisher、admin、<custom_role_name> です。<custom_role_name> は、カスタム ロールの名前 (たとえば、hostedservicepublisher) です。 レガシー:Portal for ArcGIS 10.3 以前のバージョンでは、カスタム ロール以外に使用できる値は org_user、org_publisher、org_admin でした。10.3.1 では、これらの値は廃止され、上記の値に置き換えられました。10.3.1 でも従来の値を使用できますが、今後のリリースでは使用できなくなる可能性がありますので注意してください。 |
戻り値
操作が成功したか失敗したかを示すブール値。