# Drive API . properties

## Instance Methods

Deletes a property.

Gets a property by its key.

Adds a property to a file, or updates it if it already exists.

Lists a file's properties.

Updates a property, or adds it if it doesn't exist. This method supports patch semantics.

Updates a property, or adds it if it doesn't exist.

### Method Details

`delete(fileId, propertyKey, visibility=None)`

    Deletes a property.

    Args:
      fileId: string, The ID of the file. (required)
      propertyKey: string, The key of the property. (required)
      visibility: string, The visibility of the property.

`get(fileId, propertyKey, visibility=None)`

    Gets a property by its key.

    Args:
      fileId: string, The ID of the file. (required)
      propertyKey: string, The key of the property. (required)
      visibility: string, The visibility of the property.

    Returns:
      An object of the form:

        { # A key-value pair attached to a file that is either public or private to an application.
          # The following limits apply to file properties:
          # - Maximum of 100 properties total per file
          # - Maximum of 30 private properties per app
          # - Maximum of 30 public properties
          # - Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding for a single property.
        "kind": "drive#property", # This is always drive#property.
        "value": "A String", # The value of this property.
        "etag": "A String", # ETag of the property.
        "visibility": "A String", # The visibility of this property.
        "key": "A String", # The key of this property.
        "selfLink": "A String", # The link back to this property.
      }

`insert(fileId, body)`

    Adds a property to a file, or updates it if it already exists.

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

    { # A key-value pair attached to a file that is either public or private to an application.
        # The following limits apply to file properties:
        # - Maximum of 100 properties total per file
        # - Maximum of 30 private properties per app
        # - Maximum of 30 public properties
        # - Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding for a single property.
      "kind": "drive#property", # This is always drive#property.
      "value": "A String", # The value of this property.
      "etag": "A String", # ETag of the property.
      "visibility": "A String", # The visibility of this property.
      "key": "A String", # The key of this property.
      "selfLink": "A String", # The link back to this property.
    }

    Returns:
      An object of the form:

        { # A key-value pair attached to a file that is either public or private to an application.
          # The following limits apply to file properties:
          # - Maximum of 100 properties total per file
          # - Maximum of 30 private properties per app
          # - Maximum of 30 public properties
          # - Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding for a single property.
        "kind": "drive#property", # This is always drive#property.
        "value": "A String", # The value of this property.
        "etag": "A String", # ETag of the property.
        "visibility": "A String", # The visibility of this property.
        "key": "A String", # The key of this property.
        "selfLink": "A String", # The link back to this property.
      }

`list(fileId)`

    Lists a file's properties.

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

    Returns:
      An object of the form:

        { # A collection of properties, key-value pairs that are either public or private to an application.
        "items": [ # The list of properties.
          { # A key-value pair attached to a file that is either public or private to an application.
              # The following limits apply to file properties:
              # - Maximum of 100 properties total per file
              # - Maximum of 30 private properties per app
              # - Maximum of 30 public properties
              # - Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding for a single property.
            "kind": "drive#property", # This is always drive#property.
            "value": "A String", # The value of this property.
            "etag": "A String", # ETag of the property.
            "visibility": "A String", # The visibility of this property.
            "key": "A String", # The key of this property.
            "selfLink": "A String", # The link back to this property.
          },
        ],
        "kind": "drive#propertyList", # This is always drive#propertyList.
        "etag": "A String", # The ETag of the list.
        "selfLink": "A String", # The link back to this list.
      }

`patch(fileId, propertyKey, body, visibility=None)`

    Updates a property, or adds it if it doesn't exist. This method supports patch semantics.

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

    { # A key-value pair attached to a file that is either public or private to an application.
        # The following limits apply to file properties:
        # - Maximum of 100 properties total per file
        # - Maximum of 30 private properties per app
        # - Maximum of 30 public properties
        # - Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding for a single property.
      "kind": "drive#property", # This is always drive#property.
      "value": "A String", # The value of this property.
      "etag": "A String", # ETag of the property.
      "visibility": "A String", # The visibility of this property.
      "key": "A String", # The key of this property.
      "selfLink": "A String", # The link back to this property.
    }

      visibility: string, The visibility of the property.

    Returns:
      An object of the form:

        { # A key-value pair attached to a file that is either public or private to an application.
          # The following limits apply to file properties:
          # - Maximum of 100 properties total per file
          # - Maximum of 30 private properties per app
          # - Maximum of 30 public properties
          # - Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding for a single property.
        "kind": "drive#property", # This is always drive#property.
        "value": "A String", # The value of this property.
        "etag": "A String", # ETag of the property.
        "visibility": "A String", # The visibility of this property.
        "key": "A String", # The key of this property.
        "selfLink": "A String", # The link back to this property.
      }

`update(fileId, propertyKey, body, visibility=None)`

    Updates a property, or adds it if it doesn't exist.

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

    { # A key-value pair attached to a file that is either public or private to an application.
        # The following limits apply to file properties:
        # - Maximum of 100 properties total per file
        # - Maximum of 30 private properties per app
        # - Maximum of 30 public properties
        # - Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding for a single property.
      "kind": "drive#property", # This is always drive#property.
      "value": "A String", # The value of this property.
      "etag": "A String", # ETag of the property.
      "visibility": "A String", # The visibility of this property.
      "key": "A String", # The key of this property.
      "selfLink": "A String", # The link back to this property.
    }

      visibility: string, The visibility of the property.

    Returns:
      An object of the form:

        { # A key-value pair attached to a file that is either public or private to an application.
          # The following limits apply to file properties:
          # - Maximum of 100 properties total per file
          # - Maximum of 30 private properties per app
          # - Maximum of 30 public properties
          # - Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding for a single property.
        "kind": "drive#property", # This is always drive#property.
        "value": "A String", # The value of this property.
        "etag": "A String", # ETag of the property.
        "visibility": "A String", # The visibility of this property.
        "key": "A String", # The key of this property.
        "selfLink": "A String", # The link back to this property.
      }