将Google EmailSettings API python代码从OAuth1移动到OAuth2服务帐户
为了使用新的Google目录API,我们创建了一个OAuth2“服务帐户”(请参阅)。这基本上是一个PKCS#12文件。我们的所有目录API脚本都可以与此服务帐户配合使用 我们还使用EmailSettings API()来管理我们的一些Google帐户设置。这些脚本没有移动到新的API格式,因此我们继续使用旧的OAuth1身份验证方法。直到最近,这项措施一直运作良好。然而,谷歌似乎不再支持OAuth1身份验证 因此,我们需要将EmailSettings脚本从OAuth1移动到我们的OAuth2服务帐户。我们正在使用将Google EmailSettings API python代码从OAuth1移动到OAuth2服务帐户,python,oauth,google-api,google-email-settings-api,Python,Oauth,Google Api,Google Email Settings Api,为了使用新的Google目录API,我们创建了一个OAuth2“服务帐户”(请参阅)。这基本上是一个PKCS#12文件。我们的所有目录API脚本都可以与此服务帐户配合使用 我们还使用EmailSettings API()来管理我们的一些Google帐户设置。这些脚本没有移动到新的API格式,因此我们继续使用旧的OAuth1身份验证方法。直到最近,这项措施一直运作良好。然而,谷歌似乎不再支持OAuth1身份验证 因此,我们需要将EmailSettings脚本从OAuth1移动到我们的OAuth2服
gdata
Python库()调用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)
使用这些Pythongdata
库,如何使用我们的OAuth2服务帐户(即PKCS#12文件)进行身份验证以使用EmailSettings API?有一个示例向您展示了如何进行身份验证,但使用了稍微更新的gdata.apps.EmailSettings.client
方法
如果您必须使用gdata.apps.emailsettings.service
,则可以使用类似以下内容将OAuth 2.0“黑客”到对象上:
credentials
对象,就像您正在为Admin SDK目录API调用所做的那样client.additional_头={
“授权”:u'承载%s'%凭据。访问\u令牌}