

`Drive.Drives.list({pageToken:pageToken, maxResults:100,
useDomainAdminAccess:true});`  
で取得される戻り値で、`id` や `name` の値は取得できたのですが、`restrictions` がどうしても取得できず設定もできません。  
どのようにすれば取得や設定ができますでしょうか。

* * *

Tanaike様、ご回答ありがとうございました。  
取得はできました。  
さらにお教えいただきたいことがありましたが、コメントでの返信では文字数足りなたかったため、こちらに記載させていただきます。

同様に`restrictions`を設定したいんですが、下記のパターンでいくつか`Drives.update`を試してみましたがうまくいきません。  
申し訳ありませんが設定方法も教えていただけますでしょうか。

1の場合、以下のエラーになります。

[code]

    GoogleJsonResponseException: 次のエラーが発生し、drive.drives.update の呼び出しに失敗しました: The requesting user does not have the administrator privilege required to manage the shared drive 0ADwtxWXOI0f9Uk9PVA.
    
[/code]

2の場合、無視されたような状態です。

試したコードは以下の通りです。

[code]

        // 1
        var updateResources = {
          useDomainAdminAccess: true,
          name: "新名称",
          restrictions: {
            adminManagedRestrictions: true,
            domainUsersOnly: true,
            driveMembersOnly: true,
            copyRequiresWriterPermission : true
          },
          fields: "items(name,restrictions)"
        }; 
        var res_update = Drive.Drives.update(updateResources, driveID);
    
        // 2
        var updateResources = {
          useDomainAdminAccess: true,
          name: "新名称",
          fields: "items(name,restrictions)"
        }; 
        var updateOptions = {
          restrictions: {
            adminManagedRestrictions: true,
            domainUsersOnly: true,
            driveMembersOnly: true,
            copyRequiresWriterPermission: true
          }
        };
        var res_update = Drive.Drives.update(updateResources, driveID, updateOptions);
    
[/code]

よろしくお願いいたします。


CC BY-SA 4.0
2021-11-08T10:11:27.393
83489
2021-11-12T08:37:06.597
2021-11-12T08:37:06.597
14101
48989
question
google-apps-script
Drive.Drives.listでrestrictionsの値を取得または設定したい


`Drive.Drives.list`では、デフォルトとして、`id, name,
kind`のみが返されるようです。そのため、`restrictions`を取得するためには`fields`を使用する必要があります。今の場合、全てのプロパティを取得するか、特定のプロパティをを取得するか選択することができます。

### 全てのプロパティを取得する場合

[code]

    Drive.Drives.list({ pageToken: pageToken, maxResults: 100, useDomainAdminAccess: true, fields: "*" });
    
[/code]

### 特定のプロパティをを取得する場合

[code]

    Drive.Drives.list({ pageToken: pageToken, maxResults: 100, useDomainAdminAccess: true, fields: "items(name,restrictions,id),nextPageToken" });
    
[/code]

  * この場合、`name,restrictions,id,nextPageToken`が返されます。

### Reference

  * [Drives: list](https://developers.google.com/drive/api/v2/reference/drives/list)


CC BY-SA 4.0
2021-11-09T00:56:34.097
83502
2021-11-09T00:56:34.097
19460
83489
answer