<p>OAuth 2.0序列类似于以下内容(为已注册的应用程序提供适当定义的应用程序常量)。在</p>
<ol>
<li><p>生成请求令牌。在</p>
<pre><code>token = gdata.gauth.OAuth2Token(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
scope=" ".join(SCOPES),
user_agent=USER_AGENT)
</code></pre></li>
<li><p>授权请求令牌。对于一个简单的命令行应用程序,您可以执行以下操作:</p>
<pre><code>print 'Visit the following URL in your browser to authorise this app:'
print str(token.generate_authorize_url(redirect_url=REDIRECT_URI))
print 'After agreeing to authorise the app, copy the verification code from the browser.'
access_code = raw_input('Please enter the verification code: ')
</code></pre></li>
<li><p>获取访问令牌。在</p>
<pre><code>token.get_access_token(access_code)
</code></pre></li>
<li><p>创建一个gdata客户端。在</p>
<pre><code>client = gdata.docs.client.DocsClient(source=APP_NAME)
</code></pre></li>
<li><p>授权客户。在</p>
<pre><code>client = token.authorize(client)
</code></pre></li>
</ol>
<p>您可以保存访问令牌以备以后使用(因此避免在令牌再次过期之前必须执行手动身份验证步骤),方法是:</p>
<pre><code>f = open(tokenfile, 'w')
blob = gdata.gauth.token_to_blob(token)
f.write(blob)
f.close()
</code></pre>
<p>下次启动时,您可以通过执行以下操作来重用已保存的令牌:</p>
<pre><code>f = open(tokenfile, 'r')
blob = f.read()
f.close()
if blob:
token = gdata.gauth.token_from_blob(blob)
</code></pre>
<p>然后,对身份验证序列的唯一更改是通过指定refresh_token参数将此令牌传递给OAuth2Token:</p>
<pre><code>token = gdata.gauth.OAuth2Token(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
scope=" ".join(SCOPES),
user_agent=USER_AGENT,
refresh_token=token.refresh_token)
</code></pre>
<p>希望这有帮助。花了一段时间才弄明白:-)。在</p>