2009-03-05 9 views
10

私はFacebookerとRailsを使用してアプリケーションをFacebookに接続しています。私は、認証プロセスと、アプリケーションへのオフラインアクセスを許可するプロセスを通して、ユーザーに指示することができます。Facebookと連携するためのオフラインアクセスの取得

オフラインで実際に情報にアクセスするにはどうすればよいですか?ユーザーがFacebookの自分のアプリケーションのアクセス許可を取り消していない限り、後で使用できる期限切れのないsession_keyをリクエストする方法はありますか?

大変助かりました。アドバイスはレール特有である必要はありません。

答えて

0

EDIT:apparently「offline_access」を付与すると、無限のセッションキーが提供されます(引き続きこれを行います)。この特別なキーを保存してStatus.getなどの呼び出しで使用するだけです(PHPコードの例についてはhereを参照してください)。

http://wiki.developers.facebook.com/index.php/New_Design_User_Login

多くのAPIは、SESSION_KEYなしlisted hereを呼び出し、アプリがoffline_access付与されている場合、あなたはAPIを使用することができますので、 セッションキー

を必要としなくなりまし呼び出します。

そして が 何か、ユーザーがオフラインのとき、 は通知を送信などを行うためのセッションキーを必要としませんあなたはので、私たちはより多くの方法を変更しています。

+0

セッションキーを必要としない関数に関する情報をありがとう。残念ながら私が必要とするメソッドは、期限切れではないsession_keyを必要とします。 – Mattew

+0

どのような方法がありますか? –

+0

User.getSessionメソッド。私は彼らのステータスアップデートのストリームを取得しようとしています。 – Mattew

2

オフラインアクセスを要求すると、FacebookからのHTTP POSTパラメータ(fb_sig_session_key)で取得したセッションキーに有効期限がありません。

fb_sig_expiresパラメータをチェックすることで、このようなキーがあることを確認できます。これが「0」の場合、セッションキーには有効期限がありません。あなたはauth_tokenを持っている場合は

あなたはセッション・キーを取得するためのgetSessionを呼び出すことができますし、フィールド有効期限が切れチェック:あなたは、ユーザーからのオフラインアクセス許可を得れば

var auth = _auth.getSession(AuthToken); 
string sessionKey = auth.session_key; 
long uid = auth.uid; 
bool expires = auth.expires > 0; 
+2

こんにちはマーク - 情報ありがとうございます。オフラインアクセスが許可された後にセッションキーが変更されるかどうかを知っていますか? Facebookerでは、私が元に戻したセッション鍵は、私が始めたものと同じであると思われ、期限があります。 マット – Mattew

0

、トリックがfilter_keyを呼び出すことです'ネットワーク'のパラメータ。

PHPで、それは次のとおりです。

$feed = $facebook->api_client->stream_get($uid, '', '', '', 20, 'network', ''); 

それは動作しますが、それを試してみてください....

1

は、私はちょうどオフラインのユーザーのアクセス方法についてのステップの説明によってステップで私のブログにtutorialを作りましたデータ。あなたがRoRとFacebookerプラグインを使って作業していることを前提としています。

関連する問題