<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="partners_v2.html">Google Partners API</a> . <a href="partners_v2.exams.html">exams</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#getToken">getToken(examType, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</a></code></p>
<p class="firstline">Gets an Exam Token for a Partner's user to take an exam in the Exams System</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="getToken">getToken(examType, requestMetadata_userOverrides_ipAddress=None, requestMetadata_trafficSource_trafficSubId=None, requestMetadata_userOverrides_userId=None, x__xgafv=None, requestMetadata_locale=None, requestMetadata_experimentIds=None, requestMetadata_trafficSource_trafficSourceId=None, requestMetadata_partnersSessionId=None)</code>
  <pre>Gets an Exam Token for a Partner's user to take an exam in the Exams System

Args:
  examType: string, The exam type we are requesting a token for. (required)
  requestMetadata_userOverrides_ipAddress: string, IP address to use instead of the user's geo-located IP address.
  requestMetadata_trafficSource_trafficSubId: string, Second level identifier to indicate where the traffic comes from.
An identifier has multiple letters created by a team which redirected the
traffic to us.
  requestMetadata_userOverrides_userId: string, Logged-in user ID to impersonate instead of the user's ID.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  requestMetadata_locale: string, Locale to use for the current request.
  requestMetadata_experimentIds: string, Experiment IDs the current request belongs to. (repeated)
  requestMetadata_trafficSource_trafficSourceId: string, Identifier to indicate where the traffic comes from.
An identifier has multiple letters created by a team which redirected the
traffic to us.
  requestMetadata_partnersSessionId: string, Google Partners session ID.

Returns:
  An object of the form:

    { # A token that allows a user to take an exam.
    "examType": "A String", # The type of the exam the token belongs to.
    "token": "A String", # The token, only present if the user has access to the exam.
    "examId": "A String", # The id of the exam the token is for.
  }</pre>
</div>

</body></html>