<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="datalabeling_v1beta1.html">Data Labeling API</a> . <a href="datalabeling_v1beta1.projects.html">projects</a> . <a href="datalabeling_v1beta1.projects.datasets.html">datasets</a> . <a href="datalabeling_v1beta1.projects.datasets.dataItems.html">dataItems</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Gets a data item in a dataset by resource name. This API can be called after data are imported into dataset.</p>
<p class="toc_element">
  <code><a href="#list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists data items in a dataset. This API can be called after data are imported into dataset. Pagination is supported.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="get">get(name, x__xgafv=None)</code>
  <pre>Gets a data item in a dataset by resource name. This API can be called after data are imported into dataset.

Args:
  name: string, Required. The name of the data item to get, format: projects/{project_id}/datasets/{dataset_id}/dataItems/{data_item_id} (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # DataItem is a piece of data, without annotation. For example, an image.
    &quot;name&quot;: &quot;A String&quot;, # Output only. Name of the data item, in format of: projects/{project_id}/datasets/{dataset_id}/dataItems/{data_item_id}
    &quot;videoPayload&quot;: { # Container of information of a video. # The video payload, a container of the video uri.
      &quot;frameRate&quot;: 3.14, # FPS of the video.
      &quot;mimeType&quot;: &quot;A String&quot;, # Video format.
      &quot;videoThumbnails&quot;: [ # The list of video thumbnails.
        { # Container of information of a video thumbnail.
          &quot;timeOffset&quot;: &quot;A String&quot;, # Time offset relative to the beginning of the video, corresponding to the video frame where the thumbnail has been extracted from.
          &quot;thumbnail&quot;: &quot;A String&quot;, # A byte string of the video frame.
        },
      ],
      &quot;signedUri&quot;: &quot;A String&quot;, # Signed uri of the video file in the service bucket.
      &quot;videoUri&quot;: &quot;A String&quot;, # Video uri from the user bucket.
    },
    &quot;imagePayload&quot;: { # Container of information about an image. # The image payload, a container of the image bytes/uri.
      &quot;mimeType&quot;: &quot;A String&quot;, # Image format.
      &quot;imageUri&quot;: &quot;A String&quot;, # Image uri from the user bucket.
      &quot;imageThumbnail&quot;: &quot;A String&quot;, # A byte string of a thumbnail image.
      &quot;signedUri&quot;: &quot;A String&quot;, # Signed uri of the image file in the service bucket.
    },
    &quot;textPayload&quot;: { # Container of information about a piece of text. # The text payload, a container of text content.
      &quot;textContent&quot;: &quot;A String&quot;, # Text content.
    },
  }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
  <pre>Lists data items in a dataset. This API can be called after data are imported into dataset. Pagination is supported.

Args:
  parent: string, Required. Name of the dataset to list data items, format: projects/{project_id}/datasets/{dataset_id} (required)
  filter: string, Optional. Filter is not supported at this moment.
  pageToken: string, Optional. A token identifying a page of results for the server to return. Typically obtained by ListDataItemsResponse.next_page_token of the previous [DataLabelingService.ListDataItems] call. Return first page if empty.
  pageSize: integer, Optional. Requested page size. Server may return fewer results than requested. Default value is 100.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Results of listing data items in a dataset.
    &quot;dataItems&quot;: [ # The list of data items to return.
      { # DataItem is a piece of data, without annotation. For example, an image.
        &quot;name&quot;: &quot;A String&quot;, # Output only. Name of the data item, in format of: projects/{project_id}/datasets/{dataset_id}/dataItems/{data_item_id}
        &quot;videoPayload&quot;: { # Container of information of a video. # The video payload, a container of the video uri.
          &quot;frameRate&quot;: 3.14, # FPS of the video.
          &quot;mimeType&quot;: &quot;A String&quot;, # Video format.
          &quot;videoThumbnails&quot;: [ # The list of video thumbnails.
            { # Container of information of a video thumbnail.
              &quot;timeOffset&quot;: &quot;A String&quot;, # Time offset relative to the beginning of the video, corresponding to the video frame where the thumbnail has been extracted from.
              &quot;thumbnail&quot;: &quot;A String&quot;, # A byte string of the video frame.
            },
          ],
          &quot;signedUri&quot;: &quot;A String&quot;, # Signed uri of the video file in the service bucket.
          &quot;videoUri&quot;: &quot;A String&quot;, # Video uri from the user bucket.
        },
        &quot;imagePayload&quot;: { # Container of information about an image. # The image payload, a container of the image bytes/uri.
          &quot;mimeType&quot;: &quot;A String&quot;, # Image format.
          &quot;imageUri&quot;: &quot;A String&quot;, # Image uri from the user bucket.
          &quot;imageThumbnail&quot;: &quot;A String&quot;, # A byte string of a thumbnail image.
          &quot;signedUri&quot;: &quot;A String&quot;, # Signed uri of the image file in the service bucket.
        },
        &quot;textPayload&quot;: { # Container of information about a piece of text. # The text payload, a container of text content.
          &quot;textContent&quot;: &quot;A String&quot;, # Text content.
        },
      },
    ],
    &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve next page of results.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call &#x27;execute()&#x27; on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

</body></html>