<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="plusDomains_v1.html">Google+ Domains API</a> . <a href="plusDomains_v1.media.html">media</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#insert">insert(userId, collection, body=None, media_body=None, media_mime_type=None)</a></code></p>
<p class="firstline">Shut down. See https://developers.google.com/+/api-shutdown for more details.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="insert">insert(userId, collection, body=None, media_body=None, media_mime_type=None)</code>
  <pre>Shut down. See https://developers.google.com/+/api-shutdown for more details.

Args:
  userId: string, The ID of the user to create the activity on behalf of. (required)
  collection: string, A parameter (required)
    Allowed values
      cloud - Upload the media to share on Google+.
  body: object, The request body.
    The object takes the form of:

{
    "kind": "plus#media", # The type of resource.
    "displayName": "A String", # The display name for this media.
    "exif": { # Exif information of the media item.
      "time": "A String", # The time the media was captured. Formatted as an RFC 3339 timestamp.
    },
    "author": { # The person who uploaded this media.
      "url": "A String", # A link to the author's Google profile.
      "image": { # The author's Google profile image.
        "url": "A String", # The URL of the author's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
      },
      "displayName": "A String", # The author's name.
      "id": "A String", # ID of the author.
    },
    "url": "A String", # The URL for the page that hosts this media.
    "mediaUrl": "A String", # The URL of this photo or video's still image.
    "videoStatus": "A String", # The encoding status of this video. Possible values are:
        # - "UPLOADING" - Not all the video bytes have been received.
        # - "PENDING" - Video not yet processed.
        # - "FAILED" - Video processing failed.
        # - "READY" - A single video stream is playable.
        # - "FINAL" - All video streams are playable.
    "updated": "A String", # The time at which this media was last updated. This includes changes to media metadata. Formatted as an RFC 3339 timestamp.
    "summary": "A String", # A description, or caption, for this media.
    "height": 42, # The height in pixels of the original image.
    "videoDuration": "A String", # The duration in milliseconds of this video.
    "sizeBytes": "A String", # The size in bytes of this video.
    "etag": "A String", # ETag of this response for caching purposes.
    "streams": [ # The list of video streams for this video. There might be several different streams available for a single video, either Flash or MPEG, of various sizes
      {
        "url": "A String", # URL of the video stream.
        "width": 42, # The width, in pixels, of the video resource.
        "type": "A String", # MIME type of the video stream.
        "height": 42, # The height, in pixels, of the video resource.
      },
    ],
    "width": 42, # The width in pixels of the original image.
    "published": "A String", # The time at which this media was uploaded. Formatted as an RFC 3339 timestamp.
    "mediaCreatedTime": "A String", # The time at which this media was originally created in UTC. Formatted as an RFC 3339 timestamp that matches this example: 2010-11-25T14:30:27.655Z
    "id": "A String", # ID of this media, which is generated by the API.
  }

  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
  media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.

Returns:
  An object of the form:

    {
      "kind": "plus#media", # The type of resource.
      "displayName": "A String", # The display name for this media.
      "exif": { # Exif information of the media item.
        "time": "A String", # The time the media was captured. Formatted as an RFC 3339 timestamp.
      },
      "author": { # The person who uploaded this media.
        "url": "A String", # A link to the author's Google profile.
        "image": { # The author's Google profile image.
          "url": "A String", # The URL of the author's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
        },
        "displayName": "A String", # The author's name.
        "id": "A String", # ID of the author.
      },
      "url": "A String", # The URL for the page that hosts this media.
      "mediaUrl": "A String", # The URL of this photo or video's still image.
      "videoStatus": "A String", # The encoding status of this video. Possible values are:
          # - "UPLOADING" - Not all the video bytes have been received.
          # - "PENDING" - Video not yet processed.
          # - "FAILED" - Video processing failed.
          # - "READY" - A single video stream is playable.
          # - "FINAL" - All video streams are playable.
      "updated": "A String", # The time at which this media was last updated. This includes changes to media metadata. Formatted as an RFC 3339 timestamp.
      "summary": "A String", # A description, or caption, for this media.
      "height": 42, # The height in pixels of the original image.
      "videoDuration": "A String", # The duration in milliseconds of this video.
      "sizeBytes": "A String", # The size in bytes of this video.
      "etag": "A String", # ETag of this response for caching purposes.
      "streams": [ # The list of video streams for this video. There might be several different streams available for a single video, either Flash or MPEG, of various sizes
        {
          "url": "A String", # URL of the video stream.
          "width": 42, # The width, in pixels, of the video resource.
          "type": "A String", # MIME type of the video stream.
          "height": 42, # The height, in pixels, of the video resource.
        },
      ],
      "width": 42, # The width in pixels of the original image.
      "published": "A String", # The time at which this media was uploaded. Formatted as an RFC 3339 timestamp.
      "mediaCreatedTime": "A String", # The time at which this media was originally created in UTC. Formatted as an RFC 3339 timestamp that matches this example: 2010-11-25T14:30:27.655Z
      "id": "A String", # ID of this media, which is generated by the API.
    }</pre>
</div>

</body></html>