Adwords APICommunity
oAuth2.0対応について
目次
1.自己紹介
2.oAuth2.0について
3.AdWords アカウント
4.今までの接続の仕方
5.oAuth2.0の利用方法
6.AdWords API oAuth2.0対応
7.まとめ
1.自己紹介
名前:竹上
所属:株式会社ロックオン
職業:エンジニア
AdWords API歴:5年ぐらい
2.oAuth2.0について
oAuth2.0について学びましょう
2-1.oAuth2.0を学ぶ前に
AdWords APIをご利用の皆様はoAuth2.0対
応されましたか?
されていない方は、余裕を見て、6月中旬
頃には対応されることをお勧めします。
6月末にはoAuth2.0の利用が必須です。
2-2.oAuth2.0ってなに?
OAuth 2.0は次世代のOAuthプロトコルであり、OAuth 1.0とは後方互換性を
持たない。OAuth 2.0はクライアントとなるウェブアプリケーション、デス
クトップアプリケーション、スマートフォン、リビングデバイス等のアプ
リケーションの開発者に対し、リソースアクセス権限を付与する簡単な方
法を提供する。この規格は開発途上である。 [3] Eran Hammer-Lahavによ
れば、IETF OAuthワークグループは2010年終わりごろまでの範囲での締結
を期待していた[4]が作業は大幅に遅延し、2012年8月にようやくRFCエデ
ィタへ送付された。 仕様は中心になる The OAuth 2.0 Authorization
Framework [5] の他、The OAuth 2.0 Authorization Framework: Bearer
Token Usage [6]など幾つかに分割されている。
引用http://ja.wikipedia.org/wiki/OAuth
2-3.どこで利用している?
・TwitterやFacebook、Googleの各種サービスに利用されています。
・oAuth自体は一般的なのでAdWords API以外でも使えます。
2-4.何がよいのか?
・許可した内容だけ参照ができる
⇒アクセスを許可する側からすると
セキュアであるといえる。
3.AdWordsアカウント
改めてAdWordsアカウントに
ついておさらいを行いましょう
3-1.AdWordsアカウント種類
大きく2つのアカウントに分類される。
・MCCアカウントと呼ばれる、代理店やツールベンダーなど管理向けのアカ
ウント
・AdWords個別の子アカウント、直接の広告主向け
3-2.アカウントの種類の違い
・閲覧範囲が異なる。
MCCアカウント1はAdWordsアカウント4,5,6,7を閲覧操作を行える。
MCCアカウント2はAdWordsアカウント4,5を閲覧操作を行える。
4.今までの接続の仕方
oAuth2.0を利用しない接続の仕方を
おさらいしましょう
4.今までのAPI接続の仕方①
・MCCアカウントにAPIに接続する
ためのキーを取得し管理下のアカ
ウントを操作することができる
構成がスマートなため扱いやすい
4.今までのAPI接続の仕方②
・developerTokenを利用しアカウン
トそれぞれにID/PASSを用いて操
作します。
・MCCアカウント1からAdWordsア
カウント2~5は直接参照はでき
ないが、APIでフル操作はできる
・変更履歴が、AdWordsアカウント
で変更と残る
※developerTokenはMCCアカウントでしか発行できないため、MCCアカウ
ントは最低1つは所有している必要がございます。
5.oAuth2.0の利用方法
oAuth2.0の利用してみましょう
AdWords APIで利用するために
テストアカウントを作成し、対応し
てみましょう
5-1.準備
ここでテストアカ
ウントが作れる
作成すると右のような感じでテスト
アカウントができる
ここにoAuth2.0でアクセス
5-2.google codeでキーを作成
https://console.developer.google.com
にアクセスし、oAuth用のClient ID,Client
secrectを作成
このページへのアクセスは管理者のみ
に絞り原則アクセスしないようにしま
しょう
本番環境のこちらの情報が消えると
APIに通信ができず障害になります。
5-3.アクセストークンの取得
Step1.認証用URLを作成
Step2.codeを取得
Step3.アクセストークン取得
Step1~Step3のStep1は認証する側が用意するURLとなり
Step2は認証するアカウントのログインが求められます。
Step3でログイン後codeと呼ばれる文字列が取得できるの
でこちらを利用し、アクセストークンを取得します。
アクセストークンを利用することでAPIへのアクセスが行
えます。アクセストークンはoAuth2.0経由でAPIアクセス
を利用するうえで必ず必要となります。
5-4.アクセストークンの注意
Step1.認証用URLを作成
Step2.codeを取得
Step3.アクセストークン取得
アクセストークンは実は寿命があります。
こちらは大体3600秒(1h)となります。
では、寿命が来るたびに、codeを取得し
アクセストークンの取得がになることを避ける仕組みがあ
ります。
こちらはリフレッシュトークンと呼ばれるものを利用し
アクセストークンを取得し直すことができます。
AdWordsのようなバックグラウンドでキーワードや
夜間に入稿を行う者の場合はこちらのリフレッシュトーク
ンの
仕組みが必須となります。
イメージとしては、アクセストークンはブラウザが1hごとにID/PASSの自動ログ
アウトをし再度ログインが必要リフレッシュトークンは入力作業を代行してくれる
5-5.refreshトークンを利用
リフレッシュトークンから新しいアクセストークン
を取得
アクセストークンを利用しAPIアクセス
簡易図としては、アクセストークンの有効期限からリフレッシュトークンを利用し
た
新しいアクセストークンを取得するようになる。
アクセストークンの有効期限を確認
紛失すると動かなくなるのでご
注意を
6.AdWords API oAuth2.0対応
前置きが長かったですが、AdWords APIの利用に入ります
。
(既にご利用されている方向けです。
6-1.ポリシーを決める
1.MCCアカウントを利用する 2.ID/PASSのアカウントに対応する
どちらがよいかはご提供するサービス次第
、個人的にはMCCがおすすめ
なぜ
1.認証の管理がフォーマット化しやすい
2.認証するアカウントが混在しにくい
3.oAuthのアクセストークンが利用しやすい
4.モバイルとPCでアカウントが1つの認証
で行える
6-2.MCCでアプリを対応
1.AdWords APIのdeveloperアカウントにログインgoogle consoleからoAuth2.0の認証キーを作成
2.自分自身を許可するようにcode=>アクセストークンの取得=>リフレッシュトークンの取得を実施する
3.APIにアクセスする
mcc アカウント
ログイン
CP1アカウントA
アカウント キャンペーン 1日予算
¥1000
CP2アカウントA ¥1000
CP3アカウントB ¥1500
CP4アカウントC ¥1000
リフレッシュトーク
ンがあるとこの作業
が不要
リフレッシュトークンが1個でMCC配下全
ての情報が取得できる
6-3.ID/PASSでアプリ対応
1.AdWords APIのdeveloperアカウントにログインgoogle consoleからoAuth2.0の認証キーを作成
2.個別のID/PASSに入りcode=>アクセストークンの取得=>リフレッシュトークンの取得を実施する
3.APIにアクセスする
個別アカウント
ログイン
CP1アカウントA
アカウント キャンペーン 1日予算
¥1000
CP2アカウントA ¥1000
リフレッシュトーク
ンがあるとこの作業
が不要
MCCアカウントと異なり、個別アカウントの
アカウントAしかみれない
リフレッシュトークンが1個で1アカウント複数
アカウントの場合は全てリフレッシュトークン
を保存する必要がある
7.まとめ
1.全体的なまとめ
・oAuth2.0のClientIDの管理は厳重にしましょう
・リフレッシュトークンはなくさないように
1.これからAdWords APIをご利用される方
・AdWords のアカウント構成を理解しましょう
・なるべくMCCアカウントを利用した実装にしましょう
2.今現在ご利用中の方
・ID/PASSの場合は、個別でoAuth2.0を対応する必要があるので、非常に時間がかかります。
移行スケジュールとつくり移行しましょう
・ID/PASSの場合はMCCアカウントに移行するのが手間が省けます。
3.参考サイト
OAuth 2.0 http://oauth.net/2/
OAuth 2.0 Authentication https://developers.google.com/adwords/api/docs/guides/authentication
OAuth2.0の備忘録的まとめ http://www.ari-hiro.com/blog/2012/12/30/oauth2-summary
ご清聴ありがとうございました。

Ad words api oauth2.0について