2011-06-09 12 views
0

私はこれに関するいくつかの情報についてインターネットを見てきましたが、私が見つけたのはSDKバージョン2.X.Xの3.0.0バージョンであり、動作していません。PHP APIを使用したFacebook - 無限セッション

私が必要とするのは、ユーザー情報を取得し、Cookieに頼らずにいつでも投稿できるサーバーとして使用することです。

これはどのように行うのですか?古いチュートリアルでは、次のようなことが考えられます。

$facebook->getSession() 

とセッションでは、このメソッドはもう存在しません。どのようにセッションのキーを取得し、それを再使用する任意のアイデア?

ありがとうございました!

答えて

2

あなたは "無限" のセッションが必要な場合は、offline_access許可を求めます。そこから、access_tokenをセッションから取り出し、データベースに格納する必要があります。

+0

私はアクセストークンを持っていますが、データベースから取得した後で設定します。それは私の疑問だ... – Gilson

+0

$ facebook-> setAccessTokenはトリックをするべきです – Yuliy

0

PHPのためにFacebookによって提供されるSDKは、ユーザーがあなたのサイトをブラウズしている間に呼び出され、利用されることを意図しています - ユーザーが直接関与することなくFacebook API呼び出しを実行するアクションは同じアプローチを使用し、 cronjobsまたはバックグラウンドプロセスによって開始されます。

検証と許可のためのoAuth 2.0フローは、Facebookのドキュメントで詳しく説明されています。

http://developers.facebook.com/docs/authentication/

あなたもCURLのような標準的なHTTPリクエスト・ライブラリを使用してSDKを使用せず、手動でここで説明するロジックを実行することができます。基本的に何が起こるのは、ユーザーが最初にアクセスを許可するときにFacebookがFBログイン/権限ダイアログに完全にリダイレクトする必要があるときに、Facebookにリクエストを送信することです。このクエリでは、必要なアクセス許可を指定します。 redirect_uriパラメータを使用すると、アプリケーション内のエンドポイントに戻って、Facebookが返すデータを取得し、アクセストークンに戻してから、その最終oAuthトークンをそのユーザーに関連付けられたファイルまたはデータベース行に保存することができます。

あなたが説明したような行動をするには、FacebookにURLを呼び出すときにoffline_access権限をリクエストする必要があります。これは、ユーザーが 'Aps'インターフェースを使用してfacebookアカウントで権限を取り消すまで、永久的に有効となるトークンを生成します。

現在のOAuthについての詳細を学ぶことができます。 http://oauth.net/2/

また、私は非常にFacebookの開発者RSSフィードを購読示唆しています。彼らは非常に定期的に、APIをどのように操作するかに大きく変化し、通常はそこでしかアナウンスしません。

http://developers.facebook.com/blog/feed

+0

あなたの返事をありがとうございますが、私はそれを読んで、私はcan notが解決策にfaceook-php sdkを使用します。私はフラッシュフェイスブックのAPIと無限セッションを引き出すために管理してきましたが、今私はそれがPHPで動作する必要があります、あなたはどこのコードを見つけることができます知っていますか? – Gilson

関連する問題