0

これに関するいくつかの情報をインターネットで調べましたが、見つかったのは SDK バージョン 2.XX だけで、現在は 3.0.0 バージョンでは機能しません。

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

これを行う方法のアイデアはありますか?古いチュートリアルでは、次のように提案されています。

$facebook->getSession()

セッションでは、キーを取得しますが、このメソッドはもう存在しません。セッションキーを取得して再利用する方法はありますか?

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

4

2 に答える 2

2

「無限」のセッションが必要な場合は、offline_access許可を求めてください。そこaccess_tokenから、セッションから を取得してデータベースに保存する必要があります。

于 2011-06-09T20:36:37.010 に答える
0

Facebook が提供する PHP 用の SDK は、ユーザーがサイトを閲覧しているときに呼び出されて利用されることを目的としています。ユーザーが直接関与せずに Facebook API 呼び出しを実行するアクションには、同じアプローチを使用するが、保存されたトークンを使用し、cronjobs またはによって開始される、より堅牢なものが必要です。バックグラウンド プロセス。

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

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

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

説明した種類のアクションについては、offline_accessFacebook への URL 呼び出しを行うときに許可を要求する必要があります。これにより、ユーザーが「Aps」インターフェイスを使用して Facebook アカウントのアクセス許可を取り消すまで、永続的に有効なトークンが生成されます。

oAuth の詳細については、http: //oauth.net/2/をご覧ください 。

また、Facebook の Developer RSS フィードを購読することを強くお勧めします。彼らは非常に定期的に API の運用方法を大幅に変更し、通常はそこでのみ発表します。

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

于 2011-06-09T18:25:24.853 に答える