ad words api oauth2.0について

26
Adwords APICommunity oAuth2.0 対対対対対対

Upload: takegami-takanobu

Post on 03-Dec-2014

776 views

Category:

Software


0 download

DESCRIPTION

AdWords APIを利用するためのoAuth2.0について解説

TRANSCRIPT

Page 1: Ad words api oauth2.0について

Adwords APICommunityoAuth2.0対応について

Page 2: Ad words api oauth2.0について

目次1.自己紹介2.oAuth2.0について3.AdWords アカウント4.今までの接続の仕方5.oAuth2.0の利用方法6.AdWords API oAuth2.0対応7.まとめ

Page 3: Ad words api oauth2.0について

1.自己紹介名前:竹上所属:株式会社ロックオン職業:エンジニアAdWords API歴: 5年ぐらい

Page 4: Ad words api oauth2.0について

2.oAuth2.0についてoAuth2.0について学びましょう

Page 5: Ad words api oauth2.0について

2-1.oAuth2.0を学ぶ前にAdWords APIをご利用の皆様は oAuth2.0対応されましたか?

されていない方は、余裕を見て、 6月中旬頃には対応されることをお勧めします。

6月末には oAuth2.0の利用が必須です。

Page 6: Ad words api 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

Page 7: Ad words api oauth2.0について

2-3.どこで利用している ?・ Twitterや Facebook、 Googleの各種サービスに利用されています。

・ oAuth自体は一般的なので AdWords API以外でも使えます。

Page 8: Ad words api oauth2.0について

2-4.何がよいのか?・許可した内容だけ参照ができる⇒アクセスを許可する側からするとセキュアであるといえる。

Page 9: Ad words api oauth2.0について

3.AdWordsアカウント

改めて AdWordsアカウントについておさらいを行いましょう

Page 10: Ad words api oauth2.0について

3-1.AdWordsアカウント種類

大きく 2つのアカウントに分類される。・MCCアカウントと呼ばれる、代理店やツールベンダーなど管理向けのアカウント・ AdWords個別の子アカウント、直接の広告主向け

Page 11: Ad words api oauth2.0について

3-2.アカウントの種類の違い

・閲覧範囲が異なる。MCCアカウント 1は AdWordsアカウント 4,5,6,7を閲覧操作を行える。MCCアカウント 2は AdWordsアカウント 4,5を閲覧操作を行える。

Page 12: Ad words api oauth2.0について

4 .今までの接続の仕方

oAuth2.0を利用しない接続の仕方をおさらいしましょう

Page 13: Ad words api oauth2.0について

4.今までの API接続の仕方①

・MCCアカウントに APIに接続するためのキーを取得し管理下のアカウントを操作することができる構成がスマートなため扱いやすい

Page 14: Ad words api oauth2.0について

4.今までの API接続の仕方②

・ developerTokenを利用しアカウントそれぞれに ID/PASSを用いて操作します。

・MCCアカウント1から AdWordsアカウント2~5は直接参照はできないが、 APIでフル操作はできる

・変更履歴が、 AdWordsアカウントで変更と残る※developerTokenはMCCアカウントでしか発行できないため、MCCア

カウントは最低 1つは所有している必要がございます。

Page 15: Ad words api oauth2.0について

5.oAuth2.0の利用方法

oAuth2.0の利用してみましょう

AdWords APIで利用するためにテストアカウントを作成し、対応してみましょう

Page 16: Ad words api oauth2.0について

5-1.準備

ここでテストアカウントが作れる

作成すると右のような感じでテストアカウントができる

ここに oAuth2.0でアクセス

Page 17: Ad words api oauth2.0について

5-2.google codeでキーを作成

https://console.developer.google.comにアクセスし、 oAuth用の Client ID,Client secrectを作成

このページへのアクセスは管理者のみに絞り原則アクセスしないようにしましょう本番環境のこちらの情報が消えるとAPIに通信ができず障害になります。

Page 18: Ad words api oauth2.0について

5-3.アクセストークンの取得

Step1.認証用 URLを作成

Step2.codeを取得

Step3.アクセストークン取得

Step1~ Step3の Step1は認証する側が用意する URLとなりStep2は認証するアカウントのログインが求められます。Step3でログイン後 codeと呼ばれる文字列が取得できるのでこちらを利用し、アクセストークンを取得します。

アクセストークンを利用することで APIへのアクセスが行えます。アクセストークンは oAuth2.0経由で APIアクセスを利用するうえで必ず必要となります。

Page 19: Ad words api oauth2.0について

5-4.アクセストークンの注意

Step1.認証用 URLを作成

Step2.codeを取得

Step3.アクセストークン取得

アクセストークンは実は寿命があります。こちらは大体 3600秒 (1h)となります。

では、寿命が来るたびに、 codeを取得しアクセストークンの取得がになることを避ける仕組みがあります。

こちらはリフレッシュトークンと呼ばれるものを利用しアクセストークンを取得し直すことができます。

AdWordsのようなバックグラウンドでキーワードや夜間に入稿を行う者の場合はこちらのリフレッシュトークンの仕組みが必須となります。

イメージとしては、アクセストークンはブラウザが1hごとに ID/PASSの自動ログアウトをし再度ログインが必要リフレッシュトークンは入力作業を代行してくれるサービス

Page 20: Ad words api oauth2.0について

5-5.refreshトークンを利用

リフレッシュトークンから新しいアクセストークンを取得

アクセストークンを利用し APIアクセス

簡易図としては、アクセストークンの有効期限からリフレッシュトークンを利用した新しいアクセストークンを取得するようになる。

アクセストークンの有効期限を確認

紛失すると動かなくなるのでご注意を

Page 21: Ad words api oauth2.0について

6.AdWords API oAuth2.0対 応

前置きが長かったですが、 AdWords APIの利用に入ります。

(既にご利用されている方向けです。

Page 22: Ad words api oauth2.0について

6-1.ポリシーを決める

1.MCCアカウントを利用する 2.ID/PASSのアカウントに対応する

どちらがよいかはご提供するサービス次第、個人的にはMCCがおすすめ

なぜ1.認証の管理がフォーマット化しやすい2.認証するアカウントが混在しにくい3.oAuthのアクセストークンが利用しやすい4.モバイルと PCでアカウントが1つの認証で行える

Page 23: Ad words api oauth2.0について

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配下全ての情報が取得できる

Page 24: Ad words api oauth2.0について

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アカウント複数アカウントの場合は全てリフレッシュトークンを保存する必要がある

Page 25: Ad words api oauth2.0について

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

Page 26: Ad words api oauth2.0について

ご清聴ありがとうございました。