Drive API . permissions

Instance Methods

delete(fileId, permissionId)

Deletes a permission from a file.

get(fileId, permissionId)

Gets a permission by ID.

getIdForEmail(email)

Returns the permission ID for an email address.

insert(fileId, body, sendNotificationEmails=None, emailMessage=None)

Inserts a permission for a file.

list(fileId)

Lists a file's permissions.

patch(fileId, permissionId, body, transferOwnership=None)

Updates a permission. This method supports patch semantics.

update(fileId, permissionId, body, transferOwnership=None)

Updates a permission.

Method Details

delete(fileId, permissionId)
Deletes a permission from a file.

Args:
  fileId: string, The ID for the file. (required)
  permissionId: string, The ID for the permission. (required)
get(fileId, permissionId)
Gets a permission by ID.

Args:
  fileId: string, The ID for the file. (required)
  permissionId: string, The ID for the permission. (required)

Returns:
  An object of the form:

    { # A permission for a file.
    "withLink": True or False, # Whether the link is required for this permission.
    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is user, group or domain.
    "name": "A String", # The name for this permission.
    "kind": "drive#permission", # This is always drive#permission.
    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
    "authKey": "A String", # The authkey parameter required for this permission.
    "etag": "A String", # The ETag of the permission.
    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
    "photoLink": "A String", # A link to the profile photo, if available.
    "role": "A String", # The primary role for this user. Allowed values are:
        # - owner
        # - reader
        # - writer
    "type": "A String", # The account type. Allowed values are:
        # - user
        # - group
        # - domain
        # - anyone
    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
      "A String",
    ],
    "selfLink": "A String", # A link back to this permission.
  }
getIdForEmail(email)
Returns the permission ID for an email address.

Args:
  email: string, The email address for which to return a permission ID (required)

Returns:
  An object of the form:

    { # An ID for a user or group as seen in Permission items.
    "kind": "drive#permissionId", # This is always drive#permissionId.
    "id": "A String", # The permission ID.
  }
insert(fileId, body, sendNotificationEmails=None, emailMessage=None)
Inserts a permission for a file.

Args:
  fileId: string, The ID for the file. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A permission for a file.
  "withLink": True or False, # Whether the link is required for this permission.
  "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is user, group or domain.
  "name": "A String", # The name for this permission.
  "kind": "drive#permission", # This is always drive#permission.
  "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
  "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
  "authKey": "A String", # The authkey parameter required for this permission.
  "etag": "A String", # The ETag of the permission.
  "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
  "photoLink": "A String", # A link to the profile photo, if available.
  "role": "A String", # The primary role for this user. Allowed values are:
      # - owner
      # - reader
      # - writer
  "type": "A String", # The account type. Allowed values are:
      # - user
      # - group
      # - domain
      # - anyone
  "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
    "A String",
  ],
  "selfLink": "A String", # A link back to this permission.
}

  sendNotificationEmails: boolean, Whether to send notification emails when sharing to users or groups. This parameter is ignored and an email is sent if the role is owner.
  emailMessage: string, A custom message to include in notification emails.

Returns:
  An object of the form:

    { # A permission for a file.
    "withLink": True or False, # Whether the link is required for this permission.
    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is user, group or domain.
    "name": "A String", # The name for this permission.
    "kind": "drive#permission", # This is always drive#permission.
    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
    "authKey": "A String", # The authkey parameter required for this permission.
    "etag": "A String", # The ETag of the permission.
    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
    "photoLink": "A String", # A link to the profile photo, if available.
    "role": "A String", # The primary role for this user. Allowed values are:
        # - owner
        # - reader
        # - writer
    "type": "A String", # The account type. Allowed values are:
        # - user
        # - group
        # - domain
        # - anyone
    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
      "A String",
    ],
    "selfLink": "A String", # A link back to this permission.
  }
list(fileId)
Lists a file's permissions.

Args:
  fileId: string, The ID for the file. (required)

Returns:
  An object of the form:

    { # A list of permissions associated with a file.
    "items": [ # The actual list of permissions.
      { # A permission for a file.
        "withLink": True or False, # Whether the link is required for this permission.
        "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is user, group or domain.
        "name": "A String", # The name for this permission.
        "kind": "drive#permission", # This is always drive#permission.
        "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
        "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
        "authKey": "A String", # The authkey parameter required for this permission.
        "etag": "A String", # The ETag of the permission.
        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
        "photoLink": "A String", # A link to the profile photo, if available.
        "role": "A String", # The primary role for this user. Allowed values are:
            # - owner
            # - reader
            # - writer
        "type": "A String", # The account type. Allowed values are:
            # - user
            # - group
            # - domain
            # - anyone
        "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
          "A String",
        ],
        "selfLink": "A String", # A link back to this permission.
      },
    ],
    "kind": "drive#permissionList", # This is always drive#permissionList.
    "etag": "A String", # The ETag of the list.
    "selfLink": "A String", # A link back to this list.
  }
patch(fileId, permissionId, body, transferOwnership=None)
Updates a permission. This method supports patch semantics.

Args:
  fileId: string, The ID for the file. (required)
  permissionId: string, The ID for the permission. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A permission for a file.
  "withLink": True or False, # Whether the link is required for this permission.
  "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is user, group or domain.
  "name": "A String", # The name for this permission.
  "kind": "drive#permission", # This is always drive#permission.
  "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
  "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
  "authKey": "A String", # The authkey parameter required for this permission.
  "etag": "A String", # The ETag of the permission.
  "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
  "photoLink": "A String", # A link to the profile photo, if available.
  "role": "A String", # The primary role for this user. Allowed values are:
      # - owner
      # - reader
      # - writer
  "type": "A String", # The account type. Allowed values are:
      # - user
      # - group
      # - domain
      # - anyone
  "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
    "A String",
  ],
  "selfLink": "A String", # A link back to this permission.
}

  transferOwnership: boolean, Whether changing a role to 'owner' should also downgrade the current owners to writers.

Returns:
  An object of the form:

    { # A permission for a file.
    "withLink": True or False, # Whether the link is required for this permission.
    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is user, group or domain.
    "name": "A String", # The name for this permission.
    "kind": "drive#permission", # This is always drive#permission.
    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
    "authKey": "A String", # The authkey parameter required for this permission.
    "etag": "A String", # The ETag of the permission.
    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
    "photoLink": "A String", # A link to the profile photo, if available.
    "role": "A String", # The primary role for this user. Allowed values are:
        # - owner
        # - reader
        # - writer
    "type": "A String", # The account type. Allowed values are:
        # - user
        # - group
        # - domain
        # - anyone
    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
      "A String",
    ],
    "selfLink": "A String", # A link back to this permission.
  }
update(fileId, permissionId, body, transferOwnership=None)
Updates a permission.

Args:
  fileId: string, The ID for the file. (required)
  permissionId: string, The ID for the permission. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A permission for a file.
  "withLink": True or False, # Whether the link is required for this permission.
  "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is user, group or domain.
  "name": "A String", # The name for this permission.
  "kind": "drive#permission", # This is always drive#permission.
  "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
  "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
  "authKey": "A String", # The authkey parameter required for this permission.
  "etag": "A String", # The ETag of the permission.
  "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
  "photoLink": "A String", # A link to the profile photo, if available.
  "role": "A String", # The primary role for this user. Allowed values are:
      # - owner
      # - reader
      # - writer
  "type": "A String", # The account type. Allowed values are:
      # - user
      # - group
      # - domain
      # - anyone
  "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
    "A String",
  ],
  "selfLink": "A String", # A link back to this permission.
}

  transferOwnership: boolean, Whether changing a role to 'owner' should also downgrade the current owners to writers.

Returns:
  An object of the form:

    { # A permission for a file.
    "withLink": True or False, # Whether the link is required for this permission.
    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is user, group or domain.
    "name": "A String", # The name for this permission.
    "kind": "drive#permission", # This is always drive#permission.
    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
    "authKey": "A String", # The authkey parameter required for this permission.
    "etag": "A String", # The ETag of the permission.
    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
    "photoLink": "A String", # A link to the profile photo, if available.
    "role": "A String", # The primary role for this user. Allowed values are:
        # - owner
        # - reader
        # - writer
    "type": "A String", # The account type. Allowed values are:
        # - user
        # - group
        # - domain
        # - anyone
    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
      "A String",
    ],
    "selfLink": "A String", # A link back to this permission.
  }