Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
facebook オフラインアクセス許可の廃止
Search
hdiehigo
September 05, 2012
Research
1
190
facebook オフラインアクセス許可の廃止
http://atnd.org/events/31210
こちらで発表した資料です。
facebookのオフラインアクセスが削除される経緯のまとめと、
つまづきどころをまとめました。
hdiehigo
September 05, 2012
Tweet
Share
Other Decks in Research
See All in Research
業界横断 副業・兼業者の実態調査
fkske
0
190
電通総研の生成AI・エージェントの取り組みエンジニアリング業務向けAI活用事例紹介
isidaitc
1
660
Computational OT #4 - Gradient flow and diffusion models
gpeyre
0
310
チャッドローン:LLMによる画像認識を用いた自律型ドローンシステムの開発と実験 / ec75-morisaki
yumulab
1
480
RHO-1: Not All Tokens Are What You Need
sansan_randd
1
130
Streamlit 総合解説 ~ PythonistaのためのWebアプリ開発 ~
mickey_kubo
1
950
EarthSynth: Generating Informative Earth Observation with Diffusion Models
satai
3
110
EOGS: Gaussian Splatting for Efficient Satellite Image Photogrammetry
satai
4
300
Looking for Escorts in Sydney?
lunsophia
1
120
定性データ、どう活かす? 〜定性データのための分析基盤、はじめました〜 / How to utilize qualitative data? ~We have launched an analysis platform for qualitative data~
kaminashi
6
1.1k
LLM-as-a-Judge: 文章をLLMで評価する@教育機関DXシンポ
k141303
3
830
実行環境に中立なWebAssemblyライブマイグレーション機構/techtalk-2025spring
chikuwait
0
230
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
RailsConf 2023
tenderlove
30
1.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Practical Orchestrator
shlominoach
189
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Music & Morning Musume
bryan
46
6.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Become a Pro
speakerdeck
PRO
29
5.4k
Transcript
TechBuzz勉強会@9/5 - Confidential - Copyright © GaiaX Co. Ltd. All
rights reserved. offline access permissionの廃止 準備は大丈夫? 株式会社ガイアックス
自己紹介&会社紹介 • 株式会社ガイアックス • IT事業開発部長 • 肥後(@hidehigo) • ガイアックスの事業(facebook関連) •
GaiaX ソーシャルメディアラボ運営 • fantastics提供
3 ソーシャルメディア・マーケティング の研究機関 「マーケティングの中でソーシャルメディアをどう使うか?」をテーマに、 仮設を立て実践・調査を元に知見を貯めて、情報発信をしたり、自社 サービスの改善に活かしていく活動を行なっている。 規約 マーケティング 戦略 マニュアル・
使い方 ファン育成 データ・効果 ツール 活用術・TIPS 業務設計 効果測定・ ROI 傾聴 サービスの 仕組み 事例 キャンペーン 運用 企業 インタビュー アプリ アクティブ サポート CRM GaiaX ソーシャルメディア ラボ
4 外部メディア 講演会・勉強会・セミナー GaiaX ソーシャルメディア ラボ
5 書籍・雑誌 GaiaX ソーシャルメディア ラボ
6 ソーシャルメディア・マーケティングの ツール、運用業務のPKGを提供
本日の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/ •
に変更になっています。(リダイレクトはされる) • また、このタイミングで、アプリ設定画面の設定項目も 変更になっていて、かつ設定が引き継がれない(弊社 調べ)、という事件が発生しました(ここ後程)
ハマリどころ? 5/1時点の設定項目 • 当初のアプリの詳細設定画面の設定項目の名称は • deprecate offline access
なんと、、 現在のドキュメントのキャプチャも古い。。 • 設定項目の名称が変更になった • deprecate offline access • →Removal
offline access permission 現在の設定項目名
もう一度確認してね • 「あれ~。60日トークン延長実装したはずなのに、う まくいってない」、という方 • この新しい項目がEnabledかもう1回確認してね。
対策として • 実際に変更しなければならないことは、当初からあまり変わっ ていません。参考情報情報としても軽めに。 • ①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の変更に振り回されていま す。。。
• そんな苦労話は個別で^^; • とはいえ、この変化を楽しみながら、みんなで情報 共有していきましょう。
25 facebook懇親会やりたいです。ぜひ連絡ください http://www.facebook.com/hidehigo ご清聴ありがとうございました。 ラボ風景(集中部屋)