私はいくつかのOauthデータをセッションに保存しましたが、もう一度アクセスしたいので、そのアクセストークンを供給するためのローカルAPIエンドポイントを作成しました。しかし、メソッドを介してそのリクエストを行うと、リクエストボディが含まれていないので、実際にはreq.session.access_token
を取得することはできません。Node.js/Express - メソッドを使用してセッションデータにアクセスする方法(ソケットを使用)
このエンドポイントを訪問すると、アドレスバーに入力すると適切なデータが得られますが、メソッドによって要求された場合は応答が未定義です。このメソッドは、アドバイスを知らせるのに役立つならば、ソケットを通して呼び出されています。
//This is the endpoint
app.get('/instagram/accesstoken', function(req,res){
console.log("/instagram/accesstoken: ", req.session.access_token, ", req: ", req);
res.json({access_token: req.session.access_token});
});
//This is the method calling the endpoint
function getAccessToken(callback){
request({url: 'http://localhost:3000/instagram/accesstoken', method: "GET"}, function(err, resp, data){
console.log("getAccessToken: ", data);
if(err) { return callback(err); }
callback(null, data);
});
//Sockets
io.listen(server);
io.on('connection', function(socket){
...
getAccessToken(function(err, token){...}
...
});
私は代替ソリューションも公開しています。セッションデータにどのようにアクセスできますか?あなたの忍耐と、見ていただきありがとうございます。