Twitterとfacebookとアクセストークン

  • このエントリーをはてなブックマークに追加

先週のブログで「クラウドの管理が一括でできればいいのにー」的な事を書いたが、もうすでにクラウドを管理できるサービスがったようです。

主要なオンラインストレージサービスを一括管理ができる「Otixo

対応するサービスはDropbox、Google Docs、MobileMe、WebDev、Box、FTP。
これだけ対応していれば便利で融通が効く。
同一画面で各サービスを閲覧できるのは便利そうだ。検索機能やダウンロード形式を選べるのもちょっと嬉しい。
何より便利なのが各サービスを横断したファイル検索だ。これで各サービスでファイルを探す手間が省ける。

Win7環境ならネットワークドライブとして使えるので、人によっては必須サービスになるかもしれませんね。
自宅の環境に導入したい。(未だにXPユーザ



<!窶披€鐀 ここから本題 窶披€煤Ыr

先週、facebookとtwitterのOAuthを使って機能を実装していたらアクセストークンについて躓いたのでまとめてみた。
OAuth認証するとアクセストークンが発行され、発行されたトークンを使ってユーザへアクセスするわけだが、facebookは一定時間すると認証が切れてしまう事象にぶつかってしまった。

Twitterは一度発行されたアクセストークンを何度も再利用できる、その感覚でfacebookから発行されるアクセストークンを使っていたのがいけなかったらしい。

facebookから発行されるアクセストークンは有効期限が存在するのだ。

実際に計測したことはないが大体1時間ぐらいでアクセストークンは無効になってしまう。
むむむ、めんどくさい。。。

有効期限がないアクセストークンを取得するにはアプリをオフラインアクセスで認証させればいい。
やり方は認証URLのGETパラメータに”scope=offline_access“と付け足すだけ。

https://www.facebook.com/dialog/oauth?client_id=アプリID&redirect_uri=アプリURL&scope=offline_access
参考サイト:オフラインアクセス(1/3) – shima111の日記

これでいけるらしい……らしい……(うまくいってない

あと、facebookライブラリの3.xと2.xでメソッドの有無に戸惑った。
現在、facebookライブラリのサンプルソースを検索するとほとんど2.x系。3.x系はリリースしたばかりなので仕様がない。
なので、3.x系を使っているときに素直にサンプルソースをそのまま書くと、getSession()の所で「そんなfunctionありません」と怒られるので注意しよう!

初めてfacebookアプリの開発をしているがfacebookの日本語資料が少ないのがやはり痛いなー。
仕様がコロコロと変っているのが原因らしい……。
でも、APIやライブラリがしっかり整備されているのでTwitterAPIより使いやすいといえる。
日本語資料をもっと充実すればfacebookアプリももっと流行るんじゃないかな?

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。

8bit

執筆者: 8bit