« ソーシャルゲーに感じてる違和感について(2) | メイン | Alexa が予想以上に終わってた件 »
2012年02月01日
Facebook アプリの認証トークンが2時間で切れる問題
解決したけどわけわからん。
二度と同じ問題で悩まないようにメモ。offline_access が deprecated になるので対応に悩んでる人も多いはず。
アプリの設定で
- Enhanced Auth Dialog は Enabled
- deprecate offline_access も Enabled
によりトークンの有効期限が長くなるはず。
が、ならない。
- 新しいアカウントを作成する
古いアカウントはすでに deprecate offline_access = Disabled で認証されてる場合があり、この場合、どうもがいても 2h にロックされる。
ので、面倒だけどアカウント新しく作る。本来はアプリを一旦 remove することで大丈夫なはずだけど・・・
- App Type = Native/Desktop
これで 2h が 24h に伸びた。ちょっと進化
- Application Token で更新するのをやめる
実は offline_access なんぞ使わなくても、Application Token で feed post とかできるんですよね。
このトークンは有効期限ないので、便利!てか ユーザーの auth token いらんやん、ってことで裏技的に使ってる人もいるかと思うのだけど、さすがに却下。60日トークンがあれば十分。
- App Type = Native/Desktop にすると実は Application Token での feed post はできなくなる
ま、そういうことですけどね。使うな、と。
- App Type = Web に戻す
戻したら急に auth token の有効期限が 60 日になった。
しかも、このアプリだけじゃなくて別のアプリもすべて。ひょっとして 2/1 になったからだろうか・・・
どうなっとるんや・・・
最終的には Webアプリ、iOS/Android アプリ、全部同じ App ID で 60日トークンの認証ができるようになった。
なお、このトークン、延長は 1回しかできないとドキュメントに書いてあって、それは1日一回なのか、ライフサイクルで一回なのかわからんとフォーラムでも質問の嵐。
iOSのSDKも 2012/1/18 にようやく更新されたとあって(しかも 60日トークンが取得できることを前提にしたコードになってるので 2h トークンではほとんど使えない)まだまだ修正入るかもしれませんが、ま、こんなとこで。
ちなみに新しく作成したアカウントだと、アプリ承認してもサイドバーにブックマークされないケースが多々あって、これも悩ましい問題。
で、それについては今のところ解決策はなし。とりあえず、待つ。どのくらい待つかというと数日。数日たってアプリ remove して再度認証かける。うまくいけばサイドバーに表示される。
#ただ、これはタイムライン表示に切り替えるボタンが出ない問題とかぶってる気がするので、そのうち修正されるのかも。
いろいろ悩ましい Facebook。
※mixi の認証トークンと違い、Facebookの認証トークンは期限が切れたらもう延長できないので注意。
参照:
- Deprecation of Offline Access Permission
- Facebook Help Center
- Access Token Debugger
投稿者 aka : 2012年02月01日 02:33 / 2012年02月 / メモ
トラックバック
このエントリーのトラックバックURL:
http://133.242.136.64/mt-tb-sf.cgi/864