Class: Google::Apis::DriveV2::File

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/drive_v2/classes.rb,
generated/google/apis/drive_v2/representations.rb,
generated/google/apis/drive_v2/representations.rb

Overview

The metadata for a file.

Defined Under Namespace

Classes: Capabilities, ImageMediaMetadata, IndexableText, Labels, Thumbnail, VideoMediaMetadata

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ File

Returns a new instance of File



1663
1664
1665
# File 'generated/google/apis/drive_v2/classes.rb', line 1663

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

A link for opening the file in a relevant Google editor or viewer. Corresponds to the JSON property alternateLink

Returns:

  • (String)


1280
1281
1282
# File 'generated/google/apis/drive_v2/classes.rb', line 1280

def alternate_link
  @alternate_link
end

#app_data_contentsBoolean Also known as: app_data_contents?

Whether this file is in the Application Data folder. Corresponds to the JSON property appDataContents

Returns:

  • (Boolean)


1285
1286
1287
# File 'generated/google/apis/drive_v2/classes.rb', line 1285

def app_data_contents
  @app_data_contents
end

#can_commentBoolean Also known as: can_comment?

Deprecated: use capabilities/canComment. Corresponds to the JSON property canComment

Returns:

  • (Boolean)


1291
1292
1293
# File 'generated/google/apis/drive_v2/classes.rb', line 1291

def can_comment
  @can_comment
end

#can_read_revisionsBoolean Also known as: can_read_revisions?

Deprecated: use capabilities/canReadRevisions. Corresponds to the JSON property canReadRevisions

Returns:

  • (Boolean)


1297
1298
1299
# File 'generated/google/apis/drive_v2/classes.rb', line 1297

def can_read_revisions
  @can_read_revisions
end

#capabilitiesGoogle::Apis::DriveV2::File::Capabilities

Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. Corresponds to the JSON property capabilities



1304
1305
1306
# File 'generated/google/apis/drive_v2/classes.rb', line 1304

def capabilities
  @capabilities
end

#copyableBoolean Also known as: copyable?

Deprecated: use capabilities/canCopy. Corresponds to the JSON property copyable

Returns:

  • (Boolean)


1309
1310
1311
# File 'generated/google/apis/drive_v2/classes.rb', line 1309

def copyable
  @copyable
end

#created_dateDateTime

Create time for this file (formatted RFC 3339 timestamp). Corresponds to the JSON property createdDate

Returns:

  • (DateTime)


1315
1316
1317
# File 'generated/google/apis/drive_v2/classes.rb', line 1315

def created_date
  @created_date
end

A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used. Corresponds to the JSON property defaultOpenWithLink

Returns:

  • (String)


1321
1322
1323
# File 'generated/google/apis/drive_v2/classes.rb', line 1321

def default_open_with_link
  @default_open_with_link
end

#descriptionString

A short description of the file. Corresponds to the JSON property description

Returns:

  • (String)


1326
1327
1328
# File 'generated/google/apis/drive_v2/classes.rb', line 1326

def description
  @description
end

#download_urlString

Corresponds to the JSON property downloadUrl

Returns:

  • (String)


1331
1332
1333
# File 'generated/google/apis/drive_v2/classes.rb', line 1331

def download_url
  @download_url
end

#editableBoolean Also known as: editable?

Deprecated: use capabilities/canEdit. Corresponds to the JSON property editable

Returns:

  • (Boolean)


1336
1337
1338
# File 'generated/google/apis/drive_v2/classes.rb', line 1336

def editable
  @editable
end

A link for embedding the file. Corresponds to the JSON property embedLink

Returns:

  • (String)


1342
1343
1344
# File 'generated/google/apis/drive_v2/classes.rb', line 1342

def embed_link
  @embed_link
end

#etagString

ETag of the file. Corresponds to the JSON property etag

Returns:

  • (String)


1347
1348
1349
# File 'generated/google/apis/drive_v2/classes.rb', line 1347

def etag
  @etag
end

#explicitly_trashedBoolean Also known as: explicitly_trashed?

Whether this file has been explicitly trashed, as opposed to recursively trashed. Corresponds to the JSON property explicitlyTrashed

Returns:

  • (Boolean)


1353
1354
1355
# File 'generated/google/apis/drive_v2/classes.rb', line 1353

def explicitly_trashed
  @explicitly_trashed
end

Links for exporting Google Docs to specific formats. Corresponds to the JSON property exportLinks

Returns:

  • (Hash<String,String>)


1359
1360
1361
# File 'generated/google/apis/drive_v2/classes.rb', line 1359

def export_links
  @export_links
end

#file_extensionString

The final component of fullFileExtension with trailing text that does not appear to be part of the extension removed. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files. Corresponds to the JSON property fileExtension

Returns:

  • (String)


1367
1368
1369
# File 'generated/google/apis/drive_v2/classes.rb', line 1367

def file_extension
  @file_extension
end

#file_sizeFixnum

The size of the file in bytes. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files. Corresponds to the JSON property fileSize

Returns:

  • (Fixnum)


1373
1374
1375
# File 'generated/google/apis/drive_v2/classes.rb', line 1373

def file_size
  @file_size
end

#folder_color_rgbString

Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette. Not populated for Team Drive files. Corresponds to the JSON property folderColorRgb

Returns:

  • (String)


1381
1382
1383
# File 'generated/google/apis/drive_v2/classes.rb', line 1381

def folder_color_rgb
  @folder_color_rgb
end

#full_file_extensionString

The full file extension; extracted from the title. May contain multiple concatenated extensions, such as "tar.gz". Removing an extension from the title does not clear this field; however, changing the extension on the title does update this field. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files. Corresponds to the JSON property fullFileExtension

Returns:

  • (String)


1390
1391
1392
# File 'generated/google/apis/drive_v2/classes.rb', line 1390

def full_file_extension
  @full_file_extension
end

#has_augmented_permissionsBoolean Also known as: has_augmented_permissions?

Whether any users are granted file access directly on this file. This field is only populated for Team Drive files. Corresponds to the JSON property hasAugmentedPermissions

Returns:

  • (Boolean)


1396
1397
1398
# File 'generated/google/apis/drive_v2/classes.rb', line 1396

def has_augmented_permissions
  @has_augmented_permissions
end

#has_thumbnailBoolean Also known as: has_thumbnail?

Whether this file has a thumbnail. This does not indicate whether the requesting app has access to the thumbnail. To check access, look for the presence of the thumbnailLink field. Corresponds to the JSON property hasThumbnail

Returns:

  • (Boolean)


1404
1405
1406
# File 'generated/google/apis/drive_v2/classes.rb', line 1404

def has_thumbnail
  @has_thumbnail
end

#head_revision_idString

The ID of the file's head revision. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files. Corresponds to the JSON property headRevisionId

Returns:

  • (String)


1412
1413
1414
# File 'generated/google/apis/drive_v2/classes.rb', line 1412

def head_revision_id
  @head_revision_id
end

A link to the file's icon. Corresponds to the JSON property iconLink

Returns:

  • (String)


1417
1418
1419
# File 'generated/google/apis/drive_v2/classes.rb', line 1417

def icon_link
  @icon_link
end

#idString

The ID of the file. Corresponds to the JSON property id

Returns:

  • (String)


1422
1423
1424
# File 'generated/google/apis/drive_v2/classes.rb', line 1422

def id
  @id
end

#image_media_metadataGoogle::Apis::DriveV2::File::ImageMediaMetadata

Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content. Corresponds to the JSON property imageMediaMetadata



1428
1429
1430
# File 'generated/google/apis/drive_v2/classes.rb', line 1428

def 
  @image_media_metadata
end

#indexable_textGoogle::Apis::DriveV2::File::IndexableText

Indexable text attributes for the file (can only be written) Corresponds to the JSON property indexableText



1433
1434
1435
# File 'generated/google/apis/drive_v2/classes.rb', line 1433

def indexable_text
  @indexable_text
end

#is_app_authorizedBoolean Also known as: is_app_authorized?

Whether the file was created or opened by the requesting app. Corresponds to the JSON property isAppAuthorized

Returns:

  • (Boolean)


1438
1439
1440
# File 'generated/google/apis/drive_v2/classes.rb', line 1438

def is_app_authorized
  @is_app_authorized
end

#kindString

The type of file. This is always drive#file. Corresponds to the JSON property kind

Returns:

  • (String)


1444
1445
1446
# File 'generated/google/apis/drive_v2/classes.rb', line 1444

def kind
  @kind
end

#labelsGoogle::Apis::DriveV2::File::Labels

A group of labels for the file. Corresponds to the JSON property labels



1449
1450
1451
# File 'generated/google/apis/drive_v2/classes.rb', line 1449

def labels
  @labels
end

#last_modifying_userGoogle::Apis::DriveV2::User

Information about a Drive user. Corresponds to the JSON property lastModifyingUser



1454
1455
1456
# File 'generated/google/apis/drive_v2/classes.rb', line 1454

def last_modifying_user
  @last_modifying_user
end

#last_modifying_user_nameString

Name of the last user to modify this file. Corresponds to the JSON property lastModifyingUserName

Returns:

  • (String)


1459
1460
1461
# File 'generated/google/apis/drive_v2/classes.rb', line 1459

def last_modifying_user_name
  @last_modifying_user_name
end

#last_viewed_by_me_dateDateTime

Last time this file was viewed by the user (formatted RFC 3339 timestamp). Corresponds to the JSON property lastViewedByMeDate

Returns:

  • (DateTime)


1464
1465
1466
# File 'generated/google/apis/drive_v2/classes.rb', line 1464

def last_viewed_by_me_date
  @last_viewed_by_me_date
end

#marked_viewed_by_me_dateDateTime

Deprecated. Corresponds to the JSON property markedViewedByMeDate

Returns:

  • (DateTime)


1469
1470
1471
# File 'generated/google/apis/drive_v2/classes.rb', line 1469

def marked_viewed_by_me_date
  @marked_viewed_by_me_date
end

#md5_checksumString

An MD5 checksum for the content of this file. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files. Corresponds to the JSON property md5Checksum

Returns:

  • (String)


1476
1477
1478
# File 'generated/google/apis/drive_v2/classes.rb', line 1476

def md5_checksum
  @md5_checksum
end

#mime_typeString

The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type. Corresponds to the JSON property mimeType

Returns:

  • (String)


1483
1484
1485
# File 'generated/google/apis/drive_v2/classes.rb', line 1483

def mime_type
  @mime_type
end

#modified_by_me_dateDateTime

Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date. Corresponds to the JSON property modifiedByMeDate

Returns:

  • (DateTime)


1490
1491
1492
# File 'generated/google/apis/drive_v2/classes.rb', line 1490

def modified_by_me_date
  @modified_by_me_date
end

#modified_dateDateTime

Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set. Corresponds to the JSON property modifiedDate

Returns:

  • (DateTime)


1496
1497
1498
# File 'generated/google/apis/drive_v2/classes.rb', line 1496

def modified_date
  @modified_date
end

A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used. Corresponds to the JSON property openWithLinks

Returns:

  • (Hash<String,String>)


1502
1503
1504
# File 'generated/google/apis/drive_v2/classes.rb', line 1502

def open_with_links
  @open_with_links
end

#original_filenameString

The original filename of the uploaded content if available, or else the original value of the title field. This is only available for files with binary content in Drive. Corresponds to the JSON property originalFilename

Returns:

  • (String)


1509
1510
1511
# File 'generated/google/apis/drive_v2/classes.rb', line 1509

def original_filename
  @original_filename
end

#owned_by_meBoolean Also known as: owned_by_me?

Whether the file is owned by the current user. Not populated for Team Drive files. Corresponds to the JSON property ownedByMe

Returns:

  • (Boolean)


1515
1516
1517
# File 'generated/google/apis/drive_v2/classes.rb', line 1515

def owned_by_me
  @owned_by_me
end

#owner_namesArray<String>

Name(s) of the owner(s) of this file. Not populated for Team Drive files. Corresponds to the JSON property ownerNames

Returns:

  • (Array<String>)


1521
1522
1523
# File 'generated/google/apis/drive_v2/classes.rb', line 1521

def owner_names
  @owner_names
end

#ownersArray<Google::Apis::DriveV2::User>

The owner(s) of this file. Not populated for Team Drive files. Corresponds to the JSON property owners

Returns:



1526
1527
1528
# File 'generated/google/apis/drive_v2/classes.rb', line 1526

def owners
  @owners
end

#parentsArray<Google::Apis::DriveV2::ParentReference>

Collection of parent folders which contain this file. Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder. Corresponds to the JSON property parents



1534
1535
1536
# File 'generated/google/apis/drive_v2/classes.rb', line 1534

def parents
  @parents
end

#permissionsArray<Google::Apis::DriveV2::Permission>

The list of permissions for users with access to this file. Not populated for Team Drive files. Corresponds to the JSON property permissions



1540
1541
1542
# File 'generated/google/apis/drive_v2/classes.rb', line 1540

def permissions
  @permissions
end

#propertiesArray<Google::Apis::DriveV2::Property>

The list of properties. Corresponds to the JSON property properties



1545
1546
1547
# File 'generated/google/apis/drive_v2/classes.rb', line 1545

def properties
  @properties
end

#quota_bytes_usedFixnum

The number of quota bytes used by this file. Corresponds to the JSON property quotaBytesUsed

Returns:

  • (Fixnum)


1550
1551
1552
# File 'generated/google/apis/drive_v2/classes.rb', line 1550

def quota_bytes_used
  @quota_bytes_used
end

A link back to this file. Corresponds to the JSON property selfLink

Returns:

  • (String)


1555
1556
1557
# File 'generated/google/apis/drive_v2/classes.rb', line 1555

def self_link
  @self_link
end

#shareableBoolean Also known as: shareable?

Deprecated: use capabilities/canShare. Corresponds to the JSON property shareable

Returns:

  • (Boolean)


1560
1561
1562
# File 'generated/google/apis/drive_v2/classes.rb', line 1560

def shareable
  @shareable
end

#sharedBoolean Also known as: shared?

Whether the file has been shared. Not populated for Team Drive files. Corresponds to the JSON property shared

Returns:

  • (Boolean)


1566
1567
1568
# File 'generated/google/apis/drive_v2/classes.rb', line 1566

def shared
  @shared
end

#shared_with_me_dateDateTime

Time at which this file was shared with the user (formatted RFC 3339 timestamp) . Corresponds to the JSON property sharedWithMeDate

Returns:

  • (DateTime)


1573
1574
1575
# File 'generated/google/apis/drive_v2/classes.rb', line 1573

def shared_with_me_date
  @shared_with_me_date
end

#sharing_userGoogle::Apis::DriveV2::User

Information about a Drive user. Corresponds to the JSON property sharingUser



1578
1579
1580
# File 'generated/google/apis/drive_v2/classes.rb', line 1578

def sharing_user
  @sharing_user
end

#spacesArray<String>

The list of spaces which contain the file. Supported values are 'drive', ' appDataFolder' and 'photos'. Corresponds to the JSON property spaces

Returns:

  • (Array<String>)


1584
1585
1586
# File 'generated/google/apis/drive_v2/classes.rb', line 1584

def spaces
  @spaces
end

#team_drive_idString

ID of the Team Drive the file resides in. Corresponds to the JSON property teamDriveId

Returns:

  • (String)


1589
1590
1591
# File 'generated/google/apis/drive_v2/classes.rb', line 1589

def team_drive_id
  @team_drive_id
end

#thumbnailGoogle::Apis::DriveV2::File::Thumbnail

A thumbnail for the file. This will only be used if Drive cannot generate a standard thumbnail. Corresponds to the JSON property thumbnail



1595
1596
1597
# File 'generated/google/apis/drive_v2/classes.rb', line 1595

def thumbnail
  @thumbnail
end

A short-lived link to the file's thumbnail. Typically lasts on the order of hours. Only populated when the requesting app can access the file's content. Corresponds to the JSON property thumbnailLink

Returns:

  • (String)


1601
1602
1603
# File 'generated/google/apis/drive_v2/classes.rb', line 1601

def thumbnail_link
  @thumbnail_link
end

#thumbnail_versionFixnum

The thumbnail version for use in thumbnail cache invalidation. Corresponds to the JSON property thumbnailVersion

Returns:

  • (Fixnum)


1606
1607
1608
# File 'generated/google/apis/drive_v2/classes.rb', line 1606

def thumbnail_version
  @thumbnail_version
end

#titleString

The title of this file. Note that for immutable items such as the top level folders of Team Drives, My Drive root folder, and Application Data folder the title is constant. Corresponds to the JSON property title

Returns:

  • (String)


1613
1614
1615
# File 'generated/google/apis/drive_v2/classes.rb', line 1613

def title
  @title
end

#trashed_dateDateTime

The time that the item was trashed (formatted RFC 3339 timestamp). Only populated for Team Drive files. Corresponds to the JSON property trashedDate

Returns:

  • (DateTime)


1619
1620
1621
# File 'generated/google/apis/drive_v2/classes.rb', line 1619

def trashed_date
  @trashed_date
end

#trashing_userGoogle::Apis::DriveV2::User

Information about a Drive user. Corresponds to the JSON property trashingUser



1624
1625
1626
# File 'generated/google/apis/drive_v2/classes.rb', line 1624

def trashing_user
  @trashing_user
end

#user_permissionGoogle::Apis::DriveV2::Permission

A permission for a file. Corresponds to the JSON property userPermission



1629
1630
1631
# File 'generated/google/apis/drive_v2/classes.rb', line 1629

def user_permission
  @user_permission
end

#versionFixnum

A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the requesting user. Corresponds to the JSON property version

Returns:

  • (Fixnum)


1636
1637
1638
# File 'generated/google/apis/drive_v2/classes.rb', line 1636

def version
  @version
end

#video_media_metadataGoogle::Apis::DriveV2::File::VideoMediaMetadata

Metadata about video media. This will only be present for video types. Corresponds to the JSON property videoMediaMetadata



1641
1642
1643
# File 'generated/google/apis/drive_v2/classes.rb', line 1641

def 
  @video_media_metadata
end

A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials. Corresponds to the JSON property webContentLink

Returns:

  • (String)


1648
1649
1650
# File 'generated/google/apis/drive_v2/classes.rb', line 1648

def web_content_link
  @web_content_link
end

A link only available on public folders for viewing their static web assets ( HTML, CSS, JS, etc) via Google Drive's Website Hosting. Corresponds to the JSON property webViewLink

Returns:

  • (String)


1654
1655
1656
# File 'generated/google/apis/drive_v2/classes.rb', line 1654

def web_view_link
  @web_view_link
end

#writers_can_shareBoolean Also known as: writers_can_share?

Whether writers can share the document with other users. Not populated for Team Drive files. Corresponds to the JSON property writersCanShare

Returns:

  • (Boolean)


1660
1661
1662
# File 'generated/google/apis/drive_v2/classes.rb', line 1660

def writers_can_share
  @writers_can_share
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
# File 'generated/google/apis/drive_v2/classes.rb', line 1668

def update!(**args)
  @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
  @app_data_contents = args[:app_data_contents] if args.key?(:app_data_contents)
  @can_comment = args[:can_comment] if args.key?(:can_comment)
  @can_read_revisions = args[:can_read_revisions] if args.key?(:can_read_revisions)
  @capabilities = args[:capabilities] if args.key?(:capabilities)
  @copyable = args[:copyable] if args.key?(:copyable)
  @created_date = args[:created_date] if args.key?(:created_date)
  @default_open_with_link = args[:default_open_with_link] if args.key?(:default_open_with_link)
  @description = args[:description] if args.key?(:description)
  @download_url = args[:download_url] if args.key?(:download_url)
  @editable = args[:editable] if args.key?(:editable)
  @embed_link = args[:embed_link] if args.key?(:embed_link)
  @etag = args[:etag] if args.key?(:etag)
  @explicitly_trashed = args[:explicitly_trashed] if args.key?(:explicitly_trashed)
  @export_links = args[:export_links] if args.key?(:export_links)
  @file_extension = args[:file_extension] if args.key?(:file_extension)
  @file_size = args[:file_size] if args.key?(:file_size)
  @folder_color_rgb = args[:folder_color_rgb] if args.key?(:folder_color_rgb)
  @full_file_extension = args[:full_file_extension] if args.key?(:full_file_extension)
  @has_augmented_permissions = args[:has_augmented_permissions] if args.key?(:has_augmented_permissions)
  @has_thumbnail = args[:has_thumbnail] if args.key?(:has_thumbnail)
  @head_revision_id = args[:head_revision_id] if args.key?(:head_revision_id)
  @icon_link = args[:icon_link] if args.key?(:icon_link)
  @id = args[:id] if args.key?(:id)
  @image_media_metadata = args[:image_media_metadata] if args.key?(:image_media_metadata)
  @indexable_text = args[:indexable_text] if args.key?(:indexable_text)
  @is_app_authorized = args[:is_app_authorized] if args.key?(:is_app_authorized)
  @kind = args[:kind] if args.key?(:kind)
  @labels = args[:labels] if args.key?(:labels)
  @last_modifying_user = args[:last_modifying_user] if args.key?(:last_modifying_user)
  @last_modifying_user_name = args[:last_modifying_user_name] if args.key?(:last_modifying_user_name)
  @last_viewed_by_me_date = args[:last_viewed_by_me_date] if args.key?(:last_viewed_by_me_date)
  @marked_viewed_by_me_date = args[:marked_viewed_by_me_date] if args.key?(:marked_viewed_by_me_date)
  @md5_checksum = args[:md5_checksum] if args.key?(:md5_checksum)
  @mime_type = args[:mime_type] if args.key?(:mime_type)
  @modified_by_me_date = args[:modified_by_me_date] if args.key?(:modified_by_me_date)
  @modified_date = args[:modified_date] if args.key?(:modified_date)
  @open_with_links = args[:open_with_links] if args.key?(:open_with_links)
  @original_filename = args[:original_filename] if args.key?(:original_filename)
  @owned_by_me = args[:owned_by_me] if args.key?(:owned_by_me)
  @owner_names = args[:owner_names] if args.key?(:owner_names)
  @owners = args[:owners] if args.key?(:owners)
  @parents = args[:parents] if args.key?(:parents)
  @permissions = args[:permissions] if args.key?(:permissions)
  @properties = args[:properties] if args.key?(:properties)
  @quota_bytes_used = args[:quota_bytes_used] if args.key?(:quota_bytes_used)
  @self_link = args[:self_link] if args.key?(:self_link)
  @shareable = args[:shareable] if args.key?(:shareable)
  @shared = args[:shared] if args.key?(:shared)
  @shared_with_me_date = args[:shared_with_me_date] if args.key?(:shared_with_me_date)
  @sharing_user = args[:sharing_user] if args.key?(:sharing_user)
  @spaces = args[:spaces] if args.key?(:spaces)
  @team_drive_id = args[:team_drive_id] if args.key?(:team_drive_id)
  @thumbnail = args[:thumbnail] if args.key?(:thumbnail)
  @thumbnail_link = args[:thumbnail_link] if args.key?(:thumbnail_link)
  @thumbnail_version = args[:thumbnail_version] if args.key?(:thumbnail_version)
  @title = args[:title] if args.key?(:title)
  @trashed_date = args[:trashed_date] if args.key?(:trashed_date)
  @trashing_user = args[:trashing_user] if args.key?(:trashing_user)
  @user_permission = args[:user_permission] if args.key?(:user_permission)
  @version = args[:version] if args.key?(:version)
  @video_media_metadata = args[:video_media_metadata] if args.key?(:video_media_metadata)
  @web_content_link = args[:web_content_link] if args.key?(:web_content_link)
  @web_view_link = args[:web_view_link] if args.key?(:web_view_link)
  @writers_can_share = args[:writers_can_share] if args.key?(:writers_can_share)
end