サービスアカウント作成と連携
Google Ad Manager APIを利用するためにはOAuth2認証が必要。
いくつか方法があるけど今回はサービスアカウントを作成して認証されるようにします。
サービスアカウント作成
- Google Cloud Platformのコンソールからサービスアカウントを作成します
- 作成したサービスアカウントでjsonキーを作成します
- このjsonは後にプログラムからAPIに疎通する際に利用します
Google Ad Managerとサービスアカウントの連携
- Google Ad Manager側で管理者 > 全般設定からAPIアクセスを有効にします
- APIアクセスを有効にするとサービスアカウントユーザーを追加というボタンが現れます
- 先に作成したサービスアカウントを追加します
Google Ad Manager APIを利用する
Python用ライブラリを読み込む
googleads/googleads-python-lib
- pipを推奨されてますがPoetryでも問題なく導入できました。
$ poetry add googleads
- 先の手順で取得したjsonを
credential.json
として保存して参照しています。
from googleads import ad_manager
from googleads import oauth2
import os
script_dir = os.path.dirname(__file__)
KEY_FILE = os.path.join(script_dir, 'credential.json')
APPLICATION_NAME = 'sample'
def main(key_file, application_name):
oauth2_client = oauth2.GoogleServiceAccountClient(
key_file, oauth2.GetAPIScope('ad_manager'))
ad_manager_client = ad_manager.AdManagerClient(
oauth2_client, application_name)
networks = ad_manager_client.GetService('NetworkService').getAllNetworks()
for network in networks:
print('Network with network code "%s" and display name "%s" was found.'
% (network['networkCode'], network['displayName']))
if __name__ == '__main__':
main(KEY_FILE, APPLICATION_NAME)
上記のコードを実行して
Network with network code "対象のネットワークコード" and display name "ネットワークの名称" was found.
が出力されれば疎通は成功です。
お疲れ様でした。