我想要获取Google联系人,为此我正在关注此文档。这里验证用户我使用的是OAuth 2.0。但我无法验证我的用户身份。
client_id = 'abcedf'
client_secret= 'qwert'
scope=(
'https://www.googleapis.com/auth/contacts.readonly'
),
credentials = {
'client_id':client_id,
'client_secret':client_secret,
'scope':scope
}
auth2token = gdata.gauth.OAuth2TokenFromCredentials(credentials)
但上述身份验证无效,因此我无法继续检索联系人。
答案 0 :(得分:0)
由于您使用Python对用户进行身份验证,因此您可以尝试使用oauth2client-library for Python来了解如何在身份验证中使用Flow对象:
flow_from_clientsecrets()
oauth2client.client.flow_from_clientsecrets()方法从client_secrets.json文件创建Flow对象。此JSON格式的文件存储您的客户端ID,客户端密钥和其他OAuth 2.0参数。
以下显示了如何使用flow_from_clientsecrets()
创建Flow对象:
使用flow_from_clientsecrets()
from oauth2client.client import flow_from_clientsecrets
...
flow = flow_from_clientsecrets('path_to_directory/client_secrets.json',
scope='https://www.googleapis.com/auth/calendar',
redirect_uri='http://example.com/auth_return')
使用OAuth2WebServerFlow
尽管名称如此,oauth2client.client.OAuth2WebServerFlow
类仍用于已安装和Web应用程序。它是通过将客户端ID,客户端密钥和作用域传递给其构造函数来创建的:您为构造函数提供redirect_uri
参数。这必须是您的应用程序处理的URI。
from oauth2client.client import OAuth2WebServerFlow
...
flow = OAuth2WebServerFlow(client_id='your_client_id',
client_secret='your_client_secret',
scope='https://www.googleapis.com/auth/calendar',
redirect_uri='http://example.com/auth_return')