Facebook でアプリを作成しました。このアプリを使用して dotnetopenauth 経由でユーザーを承認しています。
ここでは、APPID と APPSECRET を渡し、Facebook Graph を呼び出して Facebook ユーザーの詳細を取得するために使用されるトークンを取得します。これを初めて行う場合、ユーザーは Facebook Web サイトでユーザー名/パスワードを入力するように求められ、ブラウザーでセッションが作成され、Facebook ユーザーとして私の Web サイトにリダイレクトされます。これは、現在のウィンドウで新しいタブを開いて facebook を開くと、ユーザーはユーザー名/パスワードを要求せずに自分のページを直接表示することを意味します。-これは明白で理解できます。
// code
request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(strAccessToken));
response = request.GetResponse();
私の質問は次のとおりです。上記のシナリオの後、ユーザーが Facebook Web サイトからログアウトするか、ブラウザ ウィンドウを閉じると、Facebook セッションが失われます。ただし、認証中に取得したアクセス トークン (上記のコードの文字列) はまだ持っています。そのため、現時点では、Facebook からのユーザー情報は一切保存していません (Cookie やその他のものでさえも)。アプリケーションを Facebook ユーザーとして承認するようユーザーに要求しているだけです。ユーザーがそれを行うと、Graph および REST API を呼び出すために使用できるアクセス トークンを取得します。通常、このアクセス トークンは同じままであるため、次回からトークンを取得するためにアプリケーション ID とシークレットを渡す必要はありません。実際には、保存されたトークンを使用してグラフ API と REST API を要求し、ユーザーの詳細を要求できます。私はこれをテストし、正常に動作します。
私が探しているのは、ユーザーが www.facebook.com を開くと、現在のブラウザーでセッションを行っている場合にのみ可能な個人的な Facebook ページが表示されることです。したがって、私の質問は、アクセス トークンをどのように使用するか、またはアクセス トークンを使用してどのような呼び出しを行う必要があるかでした。これにより、Facebook ユーザーのブラウザー セッションを設定できます。技術的に可能ですか?
よろしく、 AG