<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="integrations_v1.html">Application Integration API</a> . <a href="integrations_v1.callback.html">callback</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="#generateToken">generateToken(code=None, gcpProjectId=None, product=None, redirectUri=None, state=None, x__xgafv=None)</a></code></p>
<p class="firstline">Receives the auth code and auth config id to combine that with the client id and secret to retrieve access tokens from the token endpoint. Returns either a success or error message when it's done.</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="generateToken">generateToken(code=None, gcpProjectId=None, product=None, redirectUri=None, state=None, x__xgafv=None)</code>
  <pre>Receives the auth code and auth config id to combine that with the client id and secret to retrieve access tokens from the token endpoint. Returns either a success or error message when it&#x27;s done.

Args:
  code: string, The auth code for the given request
  gcpProjectId: string, The gcp project id of the request
  product: string, Which product sends the request
    Allowed values
      UNSPECIFIED_PRODUCT - 
      IP - 
      APIGEE - 
      SECURITY - 
  redirectUri: string, Redirect uri of the auth code request
  state: string, The auth config id for the given request
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Returns success or error message
  &quot;message&quot;: &quot;A String&quot;, # The message that notifies the user if the request succeeded or not.
}</pre>
</div>

</body></html>