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. 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 user and group permissions.
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 "Joe Smith." *
group
- Name of the Google Group, such as "The Company Administrators." * domain
- String domain name,
such as "thecompany.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
User resources as permissionId
. IDs should be treated as opaque values.
Declaration
[JsonProperty("id")]
public virtual string Id { get; set; }
Property Value
Type | Description |
---|---|
string |
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 user
type
permissions for files that are not 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 shared drive item are inherited or directly on this item. This is an output-only field which is present only for shared drive items.
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. While new values may be supported in the future, the following are
currently allowed: * owner
* organizer
* fileOrganizer
* writer
* commenter
* reader
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. Valid values are: * user
* group
* domain
* anyone
When creating a
permission, if type
is user
or group
, you must provide an emailAddress
for the user or group. When
type
is domain
, you must provide a domain
. There isn't extra information required for an anyone
type.
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. 'published' is the only supported value.
Declaration
[JsonProperty("view")]
public virtual string View { get; set; }
Property Value
Type | Description |
---|---|
string |