Upload
hide5
View
2.836
Download
1
Embed Size (px)
Citation preview
TechBuzz勉強会@9/5
- Confidential - Copyright © GaiaX Co. Ltd. All rights reserved.
offline access permissionの廃止 準備は大丈夫?
株式会社ガイアックス
自己紹介&会社紹介
• 株式会社ガイアックス
• IT事業開発部長
• 肥後(@hidehigo)
• ガイアックスの事業(facebook関連)
• GaiaX ソーシャルメディアラボ運営
• fantastics提供
3
ソーシャルメディア・マーケティングの研究機関
「マーケティングの中でソーシャルメディアをどう使うか?」をテーマに、仮設を立て実践・調査を元に知見を貯めて、情報発信をしたり、自社
サービスの改善に活かしていく活動を行なっている。
規約 マーケティング
戦略
マニュアル・
使い方 ファン育成 データ・効果 ツール
活用術・TIPS 業務設計 効果測定・
ROI 傾聴
サービスの 仕組み
事例
キャンペーン 運用 企業
インタビュー アプリ
アクティブ
サポート CRM
GaiaX ソーシャルメディア ラボ
本日のagenda
• オフラインアクセス許可とは
• tokenの種類とオフラインアクセス許可
• 弊社での利用事例
• オフラインアクセス許可は廃止予定
• 何度も延期
• facebookドキュメントの変遷
• (場合によっては)ハマリどころ
• 対策の方法(軽く)
• 設定をonにした時の変化
• どんな場合に対策した方がよいのか
オフラインアクセス使っている(いた)人~?
• facebookの仕様は、頻繁に変更されますよね。
• この件に関しては、英語はともかく、日本語の情報は、断片的で、経緯がまとまっている情報も見当たらなかったので、弊社での失敗談を交えてお話できればと思います。
• 皆さんの対策に役立ててもらえたら幸いです。
オフラインアクセス許可とは?
ユーザーaccess token ユーザーからアプリ許可を得る際に、もらう許可の種類(オフラインアクセス許可はその一つ)
を伴ったtoken
ページaccess token
facebookページの情報取得、操作ができる。
アプリaccess token
アプリ固有のtoken(期限なし)
アプリIDと共に予め与えられる
オフラインアクセス許可とは?
• ユーザーのアクセスを起因として発生させるイベントについては、ユーザーのaccess_tokenを用いればほとんど実現可能
• 他ユーザーのアクセス起因や、バッチ起因のイベントについては、(発生タイミングが読めないため)該当ユーザーのaccess_tokenは失効しているケースが多い
• そのため、(これまでは)アプリ認証時にオフラインアクセス許可を得ておく必要がありました。
弊社での利用事例
• 弊社提供のアプリ「fantastics」では、facebookペー
ジに「いいね」してくれたユーザーのアクション(facebookページへの投稿に対する「いいね」や、シェア)などを解析するために、バッチ起因でユーザーのアクションを収集しています。
• 現在数万人程度のユーザーのアクションを解析しており、facebookへのAPIアクセスは数百万回/日、程度になっています。
弊社での利用事例
GXサーバー facebook
facebookページ
facebookページ
管理者
投稿 フィード
いいね
シェア
いいね
1次波及
2次波及
定期的に取得(バッチ起因)
ファン
ファンの友達
ユーザーtokenを利用
要オフラインアクセス許可
廃止予定だよ
• ところが、このオフラインアクセス許可は、facebook
の方針により、廃止予定となっています
• このオフラインアクセスの廃止予定に関する経緯と、その時点の情報に惑わされないような情報提供ができたらと思います。
今は2012/10/3に予定されているよ(9/5時点)
• この変更、たびたび延期されています。
• 2012/5/1
• オフラインアクセスの非推奨→廃止予定日(当初)
• 5月頃? • 非推奨(deprecate)からあらためて削除(removal)の告知※1
• 7/5に延期
• 10/3に延期 ←イマココ
ここで注意
• 非推奨(deprecate)のドキュメント • https://developers.facebook.com/docs/offline-access-deprecation/
• このドキュメント、※1のタイミングで • https://developers.facebook.com/roadmap/offline-access-removal/
• に変更になっています。(リダイレクトはされる)
• また、このタイミングで、アプリ設定画面の設定項目も
変更になっていて、かつ設定が引き継がれない(弊社調べ)、という事件が発生しました(ここ後程)
なんと、、
現在のドキュメントのキャプチャも古い。。 • 設定項目の名称が変更になった
• deprecate offline access
• →Removal offline access permission
現在の設定項目名
対策として
• 実際に変更しなければならないことは、当初からあまり変わっていません。参考情報情報としても軽めに。
• ①60日トークンへの延長(交換)処理を実装する
• ユーザーtokenを交換する
• https://graph.facebook.com/oauth/access_token
• のAPIを利用する
• ②設定項目をEnableにする
• この2ステップだけ。
• ドキュメントは対訳式で翻訳しましたので以下もご参考ください
• http://d.hatena.ne.jp/hidehigo/
60日tokenについて
• ユーザーtokenの話です。
• 60日tokenはドキュメント内では
• long-lived access_tokenと表現されています。
• 60日tokenは、以下の方法で得られます
• 短い有効期限(2時間有効)のaccess_tokenを延長(交換)APIに投げて取得
• この60日tokenは延長はできません。
• 新たに、短い有効期限のaccess_tokenを交換APIに投げる必要があります
• つまり、再度ユーザーのリクエストを必要とする、ということです。
• なので、延長というよりは、交換というイメージです。
• この時に返されるtokenの文字列は、前と同じこともあります。
• 60日tokenを交換APIに投げても延長できません。
• 同じtokenが返ってきます。でも延長されていません。
Enableにした際の変化
• 60日トークンが交換可能になる
• offline_accesss許可を必要としてなかったアプリでもこの交換処理は可能
• 新しくアプリ許可を求められるユーザーが見る画面では、「オフラインアクセス許可」が表示されなくなる
• すでに取得しているオフラインアクセス許可つきのtokenは引き続き使える(tokenのdebuggerでは期限なし表示)
細かいところ
• 60日tokenを交換するために用いた短いtokenは期限内(1~2時間)はそのまま利用できる。
• が、取得した60日tokenを優先して使う方がよいよね
• すでに取得している期限なしのoffline access tokenは、そのまま利用できる
• が、変更の実施日(現時点では10/3)を過ぎるとそこから60日に切り詰められる
• 60日tokenで、そのユーザーが管理しているページaccess_tokenを取得すれば、期限切れしないページtoken
を取得できる。
• もちろん、ユーザーのログアウトや、アプリ削除や、パスワード変更によって60日有効なtokenも無効になります。
Q. どんな場合に延長(交換)処理した方がよいの?
• A.あらゆる場合
• これまでオフラインアクセス許可を取得していた=必須
• オフラインアクセス許可を利用していなかった
• でも、(設定項目をEnableにすれば)60日tokenは使える。
• サーバー側OAuth/クライアント側OAuthを利用している場合
• 古いSDKを利用したネイティブアプリ
• 新しいSDKにすればOK
Enjoy Developing your Apps
• facebookのバグや仕様変更が頻繁で、追随するのが大変ですよね。。。
• 弊社でも、日々facebookの変更に振り回されています。。。
• そんな苦労話は個別で^^;
• とはいえ、この変化を楽しみながら、みんなで情報共有していきましょう。