【发布时间】:2015-07-28 19:02:00
【问题描述】:
为了使用新的 Google Directory API,我们创建了一个 OAuth2“服务帐户”(请参阅 Using OAuth 2.0 for Server to Server Applications)。这基本上是一个 PKCS #12 文件。我们所有的 Directory API 脚本都可以在此服务帐户上正常工作。
我们还使用 EmailSettings API (Developer's Guide Email Settings API) 来管理我们的一些 Google 帐户设置。这些脚本没有迁移到新的 API 格式,因此我们继续使用旧的 OAuth1 身份验证方法。直到最近,这一直运作良好。但是,Google 似乎不再支持 OAuth1 身份验证。
因此,我们需要将 EmailSettings 脚本从 OAuth1 移动到我们的 OAuth2 服务帐户。我们正在使用 gdata Python 库 (GitHub google/gdata-python-client) 来调用 EmailSettings API。这是我们当前进行 EmailSettings API 调用的身份验证方式:
import gdata.apps.emailsettings.service
# self is an EmailSettingsService object (gdata.apps.emailsettings.service)
self.domain = "mydomain.com"
self.source = "my application name"
token = get OAuth1 token string from a file
self.SetOAuthInputParameters(
gdata.auth.OAuthSignatureMethod.HMAC_SHA1,
consumer_key = token.oauth_input_params._consumer.key,
consumer_secret = token.oauth_input_params._consumer.secret
)
token.oauth_input_params = self._oauth_input_params
self.SetOAuthToken(token)
使用这些 Python gdata 库,我如何使用我们的 OAuth2 服务帐户(即 PKCS #12 文件)进行身份验证以使用 EmailSettings API?
【问题讨论】:
标签: python oauth google-api google-email-settings-api