ad words api oauth2.0について
DESCRIPTION
AdWords APIを利用するためのoAuth2.0について解説TRANSCRIPT
Adwords APICommunityoAuth2.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/authenticationOAuth2.0の備忘録的まとめ http://www.ari-hiro.com/blog/2012/12/30/oauth2-summary
ご清聴ありがとうございました。