Skip To Content

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 日からのミリ秒)。

email

文字列

culture

文字列

orgId

文字列

preferredView

文字列

groups

文字列のリスト

role

文字列 (user、publisher、admin、<custom_role_name>)。<custom_role_name> は、カスタム ロールの名前 (たとえば、hostedservicepublisher) です。

レガシー:

Portal for ArcGIS 10.3 以前のバージョンでは、カスタム ロール以外に使用できる値は org_userorg_publisherorg_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

文字列

email

文字列

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_userorg_publisherorg_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

ポータルが HTTPS を必要とする場合、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

文字列

email

文字列

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 SAML などの エンタープライズ アイデンティティ ストアのアカウントを。この関数は、組み込みポータル ユーザーにのみ適用されます。新しいセキュリティの質問を指定した場合、新しいセキュリティの答えが指定されます。

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 の Search reference をご参照ください。
  • ユーザーを検索する場合、通常は自分の組織内を検索します。便宜のため、このメソッドでは、デフォルトで自動的に組織 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

必須の文字列。ユーザー名。

email

必須の文字列。有効な電子メール アドレスを指定する必要があります。

戻り値

操作が成功したか失敗したかを示すブール値。

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

オプションの文字列。ユーザーの名前 (組み込みユーザーの場合のみ)。

email

オプションの文字列。電子メール アドレス (組み込みユーザーの場合のみ)。

culture

オプションの文字列。2 文字の言語コード (たとえば、「fr」)。

region

オプションの文字列。2 文字の国コード (たとえば、「FR」)。

戻り値

操作が成功したか失敗したかを示すブール値。

update_user_role

ユーザーのロールを更新します。

update_user_role(self, username, role)

引数

キー

username

必須の文字列。ロールを変更するユーザーの名前。

role

必須の文字列。ユーザー、公開者、管理者、<custom_role_ID> (<custom_role_ID> とはカスタム ロールの ID。例: 1eo7LSAhbNiG1q9t など。位置を共有している ArcGIS Portal Directory のロールにあります。URL の形式は https://webadaptorhost.domain.com/<webadaptorname>/sharing/portals/0123456789ABCDEF/roles です)。

レガシー:

Portal for ArcGIS 10.3 以前のバージョンでは、カスタム ロール以外に使用できる値は org_userorg_publisherorg_admin でした。10.3.1 では、これらの値は廃止され、上記の値に置き換えられました。10.3.1 でも従来の値を使用できますが、今後のリリースでは使用できなくなる可能性がありますので注意してください。

戻り値

操作が成功したか失敗したかを示すブール値。