Show / Hide Table of Contents

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.

Inheritance
object
Permission
Implements
IDirectResponseSchema
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
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 the metadata view because the item has limited access and the scope has at least read access to the parent. The metadata view is only supported on folders. For more information, see Views.
Declaration
[JsonProperty("view")]
public virtual string View { get; set; }
Property Value
Type Description
string

Implements

IDirectResponseSchema
In this article
Back to top Generated by DocFX