FAQ
ArcGIS API for Python : ユーザーの全アイテムを他のユーザーに移動する

ナレッジ番号:3442 | 登録日:2023/05/29 | 更新日:2023/08/24

概要

ArcGIS API for Python を使用して、ArcGIS Online の所属組織の特定のユーザーの全アイテムを、他のユーザーに移動する方法をご紹介いたします。
※ ArcGIS Online の組織における管理者相当のロールにて実行可能です。

方法

ArcGIS API for Python の gis オブジェクトの users プロパティを使用し、UserManager クラスのインスタンスを生成した後、get() メソッドを使用して所属組織のユーザー情報(アイテムの移動元と移動先のユーザーに関する情報)を User クラスのオブジェクトとして取得します。アイテム移動元のユーザーの User クラスのオブジェクトに対して search() メソッドを使用して全アイテム情報を取得後、reassign_to() メソッドを使用して、アイテム移動先のユーザーへ全アイテムを移動させます。

Python サンプル コード

  1. 移動元、移動先のユーザー情報を取得
    # 移動元のユーザー名の指定と User オブジェクトの生成
    source_username = input('移動元のユーザー名を入力してください。')
    source_user = gis.users.get(source_username)
    
    # 移動先のユーザー名を指定と User オブジェクトの生成
    target_username = input('移動先のユーザー名を入力してください。')
    target_user = gis.users.get(target_username)
    
    # 結果確認
    print('移動元のユーザー:' + source_user.username)
    print('移動先のユーザー:' + target_user.username)
    
  2. 移動元のユーザーのアイテム情報を取得
    # 移動元のユーザーの全アイテムを検索
    source_user_items = gis.content.search(query = '* AND owner:'+source_user.username,max_items=300)
    
    # 検索結果を確認
    source_user_items
    
  3. アイテムを移動
    # アイテムを移動
    source_user.reassign_to(target_username=target_user)
    
  4. 移動先のユーザーのアイテム情報を取得して結果を確認
    # 移動先のユーザーの全アイテムを検索
    target_user_items = gis.content.search(query = '* AND owner:'+target_user.username,max_items=300)
    
    # 検索結果を確認
    target_user_items
    
  5. 実行結果

    Image

    アイテムの移動について

    アイテム移動処理を実施することで、移動元のユーザーではフォルダ構成が維持されたままアイテムが取り除かれ、移動先のユーザーでは移動元のユーザー名が名称についたフォルダが新規作成され、各フォルダにアイテムが移動されます。また、この処理で移動したアイテムは ID を変えられることなく他ユーザー移動されます。

    Image




    Image

    注意事項

    掲載しているコードはあくまでもサンプル (見本) として提供しているものであり、実行時に発生したエラーの対処方法につきましては、サポート対象外とさせていただきます。また、操作方法やソースコードに関するご質問は別途有償の開発者サポート契約にてご対応させていただきます。なお、コードを実行して生じたいかなる損害についても弊社では責任を負いかねます。

関連する質問

メタデータ

種類

製品