<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="youtube_v3.html">YouTube Data API v3</a> . <a href="youtube_v3.youtube.html">youtube</a> . <a href="youtube_v3.youtube.v3.html">v3</a> . <a href="youtube_v3.youtube.v3.infocards.html">infocards</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(part, onBehalfOfContentOwner=None, videoId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Retrieves all infocards for a given video.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(part, onBehalfOfContentOwner=None, videoId=None, x__xgafv=None)</code>
  <pre>Retrieves all infocards for a given video.

Args:
  part: string, The properties to return. (required) (repeated)
  onBehalfOfContentOwner: string, Content owner of the video.
  videoId: string, Encrypted id of the video.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    &quot;items&quot;: [ # A list of infocards.
      {
        &quot;snippet&quot;: { # The snippet object contains basic details about the infocard.
          &quot;linkInfocard&quot;: {
            &quot;customLinkText&quot;: &quot;A String&quot;, # Custom text to show as the website link.
                # Required.
            &quot;uploadedImage&quot;: { # Previously uploaded image.
              &quot;version&quot;: &quot;A String&quot;, # The version in the thumbnail service.
              &quot;imageFile&quot;: &quot;A String&quot;, # Image reference on the thumbnail service.
            },
            &quot;title&quot;: &quot;A String&quot;, # The title to show on the card.
                # Required.
            &quot;externalImageUrl&quot;: &quot;A String&quot;, # URL to an externally hosted image.
            &quot;targetUrl&quot;: &quot;A String&quot;, # The URL to which this card points.
                # Required.
          },
          &quot;videoInfocard&quot;: {
            &quot;playbackStartOffset&quot;: &quot;A String&quot;, # Playback start time offset in milliseconds.
                # Optional.
            &quot;customMessage&quot;: &quot;A String&quot;, # Each card can have a custom message.
                # Optional.
            &quot;videoId&quot;: &quot;A String&quot;, # Encrypted Video ID.
                # Required.
          },
          &quot;teaser&quot;: { # Each card can have a teaser.
              # Required.
            &quot;teaserStartOffset&quot;: &quot;A String&quot;, # The offset from the video start at which the teaser should be displayed
                # (activated), in milliseconds.
                # Required.
            &quot;teaserText&quot;: &quot;A String&quot;, # The teaser text to show at the top of the player for the info-card.
                # Required for channel and link type cards.
                # Optional for video and playlist type cards.
          },
          &quot;channelInfocard&quot;: {
            &quot;customMessage&quot;: &quot;A String&quot;, # Each card can have a custom message.
                # Required.
            &quot;channelId&quot;: &quot;A String&quot;, # External channel ID.
                # Required.
          },
          &quot;playlistInfocard&quot;: {
            &quot;playlistId&quot;: &quot;A String&quot;, # External playlist ID.
                # Required.
            &quot;startVideoId&quot;: &quot;A String&quot;, # Starting video, if not the first.
                # Optional.
            &quot;customMessage&quot;: &quot;A String&quot;, # Each card can have a custom message.
                # Optional.
          },
        },
        &quot;etag&quot;: &quot;A String&quot;, # Etag of this resource.
        &quot;kind&quot;: &quot;youtube#infocard&quot;, # Identifies what kind of resource this is.
        &quot;id&quot;: &quot;A String&quot;, # UUID for this infocard.
      },
    ],
    &quot;kind&quot;: &quot;youtube#infocardListResponse&quot;, # Identifies what kind of resource this is.
    &quot;etag&quot;: &quot;A String&quot;, # Etag of this resource.
  }</pre>
</div>

</body></html>