1

新しい Google Directory API を使用するために、OAuth2 の「サービス アカウント」を作成しました (「サーバー間アプリケーションでの OAuth 2.0 の使用」を参照)。これは基本的に PKCS #12 ファイルです。すべての Directory API スクリプトは、このサービス アカウントで正常に動作します。

また、EmailSettings API ( Developer's Guide Email Settings API ) を使用して、Google アカウント設定の一部を管理しています。これらのスクリプトは新しい API 形式に移行されなかっため、古い OAuth1 認証方法を引き続き使用しています。これは、最近までうまく機能していました。ただし、Google は OAuth1 認証をサポートしていないようです。

そのため、EmailSettings スクリプトを OAuth1 から OAuth2 サービス アカウントに移動する必要があります。gdataPython ライブラリ ( 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)

これらの Pythongdataライブラリを使用して、EmailSettings API を使用するために OAuth2 サービス アカウント (PKCS #12 ファイル) を使用して認証するにはどうすればよいですか?

4

1 に答える 1