PortalPy モジュール

このヘルプ トピックでは、Portal for ArcGIS の管理スクリプトの記述に使用できる、PortalPy モジュールに含まれるすべてのクラスとメソッドについて記載します。

クラス: Portal

ポータルへの URL 接続を表すオブジェクトです。Portal オブジェクトをインスタンス化するには、次のようなコードを実行します。

PortalPy.Portal(portalUrl, user, password)

使用可能な Portal のメソッドは、次のセクションに示しています。メソッドを操作する前に、以下を検討してください。

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_org_users

ポータルの組織内のすべてのユーザを返します。

get_org_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

文字列(org_user、org_publisher、org_admin)

fullName

文字列

thumbnail

文字列

idpUsername

文字列

次の例では、ポータル内のすべてのユーザ名を出力しています。

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

必須の文字列。必要な情報を持つユーザ名。

戻り値

ユーザが見つかった場合、以下のキーを含むディクショナリ オブジェクトを返します。ユーザが見つからなかった場合は、何も返されません。

キー

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

文字列(org_user、org_publisher、org_admin)

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

文字列

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

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

必須の文字列。org_user、org_publisher、または org_admin を指定します。

戻り値

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

5/10/2014