NodeJSのFBAPI+ everyauthモジュールを使用してユーザーのaccess_tokenを取得しようとしています。次に、Facebook_Graph_APIモジュールを使用してサーバー側のグラフAPIリクエストを作成し、実際にリクエストを行います(アクセストークンが必要です)。
everyauthページによると:
次に、ビュー内から、ヘルパーにアタッチされている次のヘルパーメソッドにアクセスできます
everyauth
。
everyauth.loggedIn
everyauth.user
-セッションに関連付けられているユーザードキュメントeveryauth.facebook
-はに保存されているものと同等req.session.auth.facebook
なので、次のようなことができます...everyauth.facebook.user
-OAuthプロバイダーから提供されたユーザーjsonを返します。everyauth.facebook.accessToken
-ユーザーに代わって承認されたAPI呼び出しのためにOAuthプロバイダーから提供されたaccess_tokenを返します。- また、他のモジュール(たとえば、、など)でもこのパターンが得られ
everyauth.twitter.user
ますeveryauth.github.user
。
.jadeテンプレート内で、リクエストを適切に行うことができます。
- if (everyauth.facebook)
h3 Facebook User Data
p= JSON.stringify(everyauth.facebook.user)
p= 'facebook access token is '+ everyauth.facebook.accessToken
私の質問は、サーバー側のJavaScriptからアクセストークンを取得するにはどうすればよいですか?私はその中に気づきました
app.get('/', function (req, res) {
res.render('home');
console.log(req.sessionStore.sessions.);
});
reqオブジェクトにはaccess_token値が含まれていますが、対応するJSONは解析が非常に扱いにくく、数十のAPIでは実際には実用的ではありません。everyauthを使用してサーバーからaccess_tokenを簡単に取得する方法はありますか?
仮に、AJAXを少し使用して、everyauth.facebook.accessTokenをクライアントからサーバーに送り返すこともできますが、これはやや実用的ではないと感じています。