日本時間5月16日のContent Cloud Summitで、カスタムアプリにBox AI APIを活用する方法を紹介します。

詳細を表示

グループとコラボレーションの管理

ガイド CLI CLIサンプルスクリプト グループとコラボレーションの管理

グループとコラボレーションの管理

スクリプト構造

このスクリプトでは、Box CLIを使用して、グループの作成や更新、グループへのユーザーの追加、グループとフォルダの間のコラボレーションの作成を行います。このスクリプトは、2つのパートから構成されています (以下のセクションで詳しく説明します)。両方のパートを実行することも、オプションのフラグを使用して実行するパートを決めることもできます。

グループの作成または更新

  1. このスクリプトでは、UserGroupAdditionPathパラメータに指定した.csvファイルを使用します。このファイルには、グループ名とユーザーのメールアドレスが記載されています。このファイルを作成する際には、複数のユーザーに同じグループ名を使用することも、1人のユーザーを複数のグループに割り当てることもできます。以下に例を示します。

  2. グループが存在しない場合は、スクリプトによってそのグループが作成されます。グループが存在する場合は、指定したデータに基づいてエントリが更新されます。

コラボレーションの作成または更新

  1. このスクリプトでは、CollaborationsCreationPathパラメータに指定した.csvファイルを使用します。このファイルには、グループ名、フォルダID、コラボレーションロールが記載されています。
  2. スクリプトでは、行ごとに、グループが存在するかどうか、そのグループがすでに対応するフォルダにコラボレータとして追加されていないかどうかを確認します。以下に例を示します。

    GroupNameFolderIdCollaborationRole
    Group11111111editor
    Group21111111viewer_uploader
    Group22222222viewer
    Group31111111viewer_uploader
  3. 両方の条件を満たしている場合、CollaborationRole列で定義されたロールを使用してグループがフォルダに割り当てられます。また、グループはすでに存在していても、CollaborationRoleを変更した場合、スクリプトの実行時に-UpdateExistingCollabsフラグを渡すと、コラボレーションロールが更新されます。

前提条件

Windows

.NET Coreの最新バージョンのインストール

MacOSおよびLinux

PowerShellをインストールします。pwshコマンドを実行して、インストール結果をテストします。

pwsh 

どのディレクトリでこのコマンドを実行するかに応じて、出力が異なる場合があります。以下に例を示します。

PowerShell 7.2.5
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.
    
PS /Users/user/repos/boxcli/examples> 

問題が発生する場合は、.NET CorePowerShellの両方をインストールしたかどうか確認してください。

Box CLI

スクリプトを使用するには、Box CLIをインストールし、構成する必要があります。これは、クイックスタートガイドの手順を実行することで行うことができます。ログインに使用するユーザーは、Boxのメイン管理者または共同管理者である必要があります。

スクリプトの構成

  1. boxcli GitHubリポジトリを複製してこの例のフォルダにcdコマンドで移動するか、examplesディレクトリからファイルをダウンロードします。
git clone https://github.com/box/boxcli.git boxcli
cd boxcli/examples/Mass\ Groups\ \&\ Collaborations\ Update/
  1. グループとユーザーのメールアドレスのリストが含まれる.csvファイルのパスを設定します。
    $UserGroupAdditionPath = "./User_Group_Addition.csv"
* `UserEmail` is the primary email address for the user in Box. 
* `GroupName` is the name of the group.
  1. グループとユーザーのメールアドレスのリストが含まれる.csvファイルに独自のパスを設定します。
    $CollaborationsCreationPath = "./Collaborations_Creation.csv"
* `GroupName` is name of the group the script will add as a collaborator to the folder. 
* `FolderId` is the folder ID the collaborator will be added to.
* `CollaborationRole` is the name of the role used when creating a collaboration.

 You can configure the available roles by setting the `AvailableCollaborationRoles` parameter:
     $AvailableCollaborationRoles = @("editor", "viewer", "previewer", "uploader", "previewer_uploader", "viewer_uploader", "co-owner")

スクリプトの実行

  1. PowerShellコマンドを実行します。
   pwsh
  1. スクリプトを実行します。
./Mass_Groups_Collabs_Update.ps1

オプションのフラグ

フラグを使用すると、スクリプトの特定の部分を実行またはスキップできます。

  • グループがすでに特定のフォルダのコラボレータとして設定されているものの、その役割が.csvファイルで定義されたものとは異なる場合は、スクリプトによってそのことが通知されます。スクリプトによって既存のコラボレーションが変更されることはありません。.csvファイルで定義された役割で既存のコラボレーションを更新するには、スクリプトを実行する際に追加の-UpdateExistingCollabsフラグを設定します。
   Mass_Groups_Collabs_Update.ps1 -UpdateExistingCollabs
  • コラボレーションを作成せずにグループを更新するには、スクリプトの実行時に-SkipCollabsCreationブール値フラグを追加します。
   Mass_Groups_Collabs_Update.ps1 -SkipCollabsCreation
  • グループを更新せずにコラボレーションを作成するには、スクリプトの実行時に-SkipGroupsUpdateブール値フラグを追加します。
   Mass_Groups_Collabs_Update.ps1 -SkipGroupsUpdate

ログ

ログは、メインフォルダ内のlogsフォルダに格納されます。以下のログファイルにアクセスできます。

  • Mass_Groups_Collabs_Update_all.txt: すべてのログエントリが含まれています。
  • Mass_Groups_Collabs_Update_errors.txt: エラーのみが含まれています。