Class Permission
A permission for a file. A permission grants a user, group, domain, or the world access to a file or a folder
hierarchy. For more information, see Share files, folders, and
drives. By default, permission
requests only return a subset of fields. Permission kind, ID, type, and role are always returned. To
retrieve specific fields, see Return specific
fields. Some resource methods (such
as permissions.update) require a permissionId. Use the permissions.list method to retrieve the ID for a
file, folder, or shared drive.
Implements
Inherited Members
Namespace: Google.Apis.Drive.v3.Data
Assembly: Google.Apis.Drive.v3.dll
Syntax
public class Permission : IDirectResponseSchema
Properties
AllowFileDiscovery
Whether the permission allows the file to be discovered through search. This is only applicable for
permissions of type domain or anyone.
Declaration
[JsonProperty("allowFileDiscovery")]
public virtual bool? AllowFileDiscovery { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Deleted
Output only. Whether the account associated with this permission has been deleted. This field only pertains
to permissions of type user or group.
Declaration
[JsonProperty("deleted")]
public virtual bool? Deleted { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
DisplayName
Output only. The "pretty" name of the value of the permission. The following is a list of examples for each
type of permission: * user - User's full name, as defined for their Google Account, such as "Dana A." *
group - Name of the Google Group, such as "The Company Administrators." * domain - String domain name,
such as "cymbalgroup.com." * anyone - No displayName is present.
Declaration
[JsonProperty("displayName")]
public virtual string DisplayName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Domain
The domain to which this permission refers.
Declaration
[JsonProperty("domain")]
public virtual string Domain { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ETag
The ETag of the item.
Declaration
public virtual string ETag { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
EmailAddress
The email address of the user or group to which this permission refers.
Declaration
[JsonProperty("emailAddress")]
public virtual string EmailAddress { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ExpirationTime
DateTime representation of ExpirationTimeRaw.
Declaration
[JsonIgnore]
[Obsolete("This property is obsolete and may behave unexpectedly; please use ExpirationTimeDateTimeOffset instead.")]
public virtual DateTime? ExpirationTime { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
ExpirationTimeDateTimeOffset
DateTimeOffset representation of ExpirationTimeRaw.
Declaration
[JsonIgnore]
public virtual DateTimeOffset? ExpirationTimeDateTimeOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTimeOffset? |
ExpirationTimeRaw
The time at which this permission will expire (RFC 3339 date-time). Expiration times have the following restrictions: - They can only be set on user and group permissions - The time must be in the future - The time cannot be more than a year in the future
Declaration
[JsonProperty("expirationTime")]
public virtual string ExpirationTimeRaw { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Id
Output only. The ID of this permission. This is a unique identifier for the grantee, and is published in the
User resource as permissionId.
IDs should be treated as opaque values.
Declaration
[JsonProperty("id")]
public virtual string Id { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
InheritedPermissionsDisabled
When true, only organizers, owners, and users with permissions added directly on the item can access it.
Declaration
[JsonProperty("inheritedPermissionsDisabled")]
public virtual bool? InheritedPermissionsDisabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Kind
Output only. Identifies what kind of resource this is. Value: the fixed string "drive#permission".
Declaration
[JsonProperty("kind")]
public virtual string Kind { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
PendingOwner
Whether the account associated with this permission is a pending owner. Only populated for permissions of
type user for files that aren't in a shared drive.
Declaration
[JsonProperty("pendingOwner")]
public virtual bool? PendingOwner { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
PermissionDetails
Output only. Details of whether the permissions on this item are inherited or are directly on this item.
Declaration
[JsonProperty("permissionDetails")]
public virtual IList<Permission.PermissionDetailsData> PermissionDetails { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<Permission.PermissionDetailsData> |
PhotoLink
Output only. A link to the user's profile photo, if available.
Declaration
[JsonProperty("photoLink")]
public virtual string PhotoLink { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Role
The role granted by this permission. Supported values include: * owner * organizer * fileOrganizer *
writer * commenter * reader For more information, see Roles and
permissions.
Declaration
[JsonProperty("role")]
public virtual string Role { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
TeamDrivePermissionDetails
Output only. Deprecated: Output only. Use permissionDetails instead.
Declaration
[JsonProperty("teamDrivePermissionDetails")]
public virtual IList<Permission.TeamDrivePermissionDetailsData> TeamDrivePermissionDetails { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<Permission.TeamDrivePermissionDetailsData> |
Type
The type of the grantee. Supported values include: * user * group * domain * anyone When creating a
permission, if type is user or group, you must provide an emailAddress for the user or group. If
type is domain, you must provide a domain. If type is anyone, no extra information is required.
Declaration
[JsonProperty("type")]
public virtual string Type { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
View
Indicates the view for this permission. Only populated for permissions that belong to a view. The only
supported values are published and metadata: * published: The permission's role is publishedReader.
metadata: The item is only visible to themetadataview because the item has limited access and the scope has at least read access to the parent. Themetadataview is only supported on folders. For more information, see Views.
Declaration
[JsonProperty("view")]
public virtual string View { get; set; }
Property Value
| Type | Description |
|---|---|
| string |