Can't fulfill a get request using express.js?
Here is my server code:
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
req.query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
req.baseUrl = `https://graph.facebook.com`
const v = await req.get(`/v3.2/oauth/access_token`)
v.body
})
Problem I'm having is 'v' is always undefined - I've tested the facebook request via PostMan and it's working - it seems though my get request is never fulfilled.
javascript typescript express get
|
show 1 more comment
Here is my server code:
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
req.query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
req.baseUrl = `https://graph.facebook.com`
const v = await req.get(`/v3.2/oauth/access_token`)
v.body
})
Problem I'm having is 'v' is always undefined - I've tested the facebook request via PostMan and it's working - it seems though my get request is never fulfilled.
javascript typescript express get
2
This doesn't really make sense.req
is an object describing the request made to the express server. It isn't an object from which you make an outgoing request.
– Quentin
Oct 29 '18 at 15:37
I can't get the above code to compile (at least not without putting in more effort than I'm willing to guess at what should go in the gaps). Please provide a Minimal, Complete, and Verifiable example. Starting with hello world and adding your code to it would probably be a good bet.
– Quentin
Oct 29 '18 at 15:37
@Quentin What is an object from which I make outgoing requests then - because certainly this doesn't currently work?
– AnArrayOfFunctions
Oct 29 '18 at 15:50
Is it even possible to make a request from the server?
– AnArrayOfFunctions
Oct 29 '18 at 15:54
node-fetch for example
– Daniel Khoroshko
Oct 29 '18 at 16:27
|
show 1 more comment
Here is my server code:
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
req.query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
req.baseUrl = `https://graph.facebook.com`
const v = await req.get(`/v3.2/oauth/access_token`)
v.body
})
Problem I'm having is 'v' is always undefined - I've tested the facebook request via PostMan and it's working - it seems though my get request is never fulfilled.
javascript typescript express get
Here is my server code:
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
req.query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
req.baseUrl = `https://graph.facebook.com`
const v = await req.get(`/v3.2/oauth/access_token`)
v.body
})
Problem I'm having is 'v' is always undefined - I've tested the facebook request via PostMan and it's working - it seems though my get request is never fulfilled.
javascript typescript express get
javascript typescript express get
asked Oct 29 '18 at 15:30
AnArrayOfFunctionsAnArrayOfFunctions
1,74511345
1,74511345
2
This doesn't really make sense.req
is an object describing the request made to the express server. It isn't an object from which you make an outgoing request.
– Quentin
Oct 29 '18 at 15:37
I can't get the above code to compile (at least not without putting in more effort than I'm willing to guess at what should go in the gaps). Please provide a Minimal, Complete, and Verifiable example. Starting with hello world and adding your code to it would probably be a good bet.
– Quentin
Oct 29 '18 at 15:37
@Quentin What is an object from which I make outgoing requests then - because certainly this doesn't currently work?
– AnArrayOfFunctions
Oct 29 '18 at 15:50
Is it even possible to make a request from the server?
– AnArrayOfFunctions
Oct 29 '18 at 15:54
node-fetch for example
– Daniel Khoroshko
Oct 29 '18 at 16:27
|
show 1 more comment
2
This doesn't really make sense.req
is an object describing the request made to the express server. It isn't an object from which you make an outgoing request.
– Quentin
Oct 29 '18 at 15:37
I can't get the above code to compile (at least not without putting in more effort than I'm willing to guess at what should go in the gaps). Please provide a Minimal, Complete, and Verifiable example. Starting with hello world and adding your code to it would probably be a good bet.
– Quentin
Oct 29 '18 at 15:37
@Quentin What is an object from which I make outgoing requests then - because certainly this doesn't currently work?
– AnArrayOfFunctions
Oct 29 '18 at 15:50
Is it even possible to make a request from the server?
– AnArrayOfFunctions
Oct 29 '18 at 15:54
node-fetch for example
– Daniel Khoroshko
Oct 29 '18 at 16:27
2
2
This doesn't really make sense.
req
is an object describing the request made to the express server. It isn't an object from which you make an outgoing request.– Quentin
Oct 29 '18 at 15:37
This doesn't really make sense.
req
is an object describing the request made to the express server. It isn't an object from which you make an outgoing request.– Quentin
Oct 29 '18 at 15:37
I can't get the above code to compile (at least not without putting in more effort than I'm willing to guess at what should go in the gaps). Please provide a Minimal, Complete, and Verifiable example. Starting with hello world and adding your code to it would probably be a good bet.
– Quentin
Oct 29 '18 at 15:37
I can't get the above code to compile (at least not without putting in more effort than I'm willing to guess at what should go in the gaps). Please provide a Minimal, Complete, and Verifiable example. Starting with hello world and adding your code to it would probably be a good bet.
– Quentin
Oct 29 '18 at 15:37
@Quentin What is an object from which I make outgoing requests then - because certainly this doesn't currently work?
– AnArrayOfFunctions
Oct 29 '18 at 15:50
@Quentin What is an object from which I make outgoing requests then - because certainly this doesn't currently work?
– AnArrayOfFunctions
Oct 29 '18 at 15:50
Is it even possible to make a request from the server?
– AnArrayOfFunctions
Oct 29 '18 at 15:54
Is it even possible to make a request from the server?
– AnArrayOfFunctions
Oct 29 '18 at 15:54
node-fetch for example
– Daniel Khoroshko
Oct 29 '18 at 16:27
node-fetch for example
– Daniel Khoroshko
Oct 29 '18 at 16:27
|
show 1 more comment
1 Answer
1
active
oldest
votes
I think that should be more like this
const got = require('got'); // I am using got for api call
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
const query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
const baseUrl = `https://graph.facebook.com`
const v = await got(`${baseUrl}/v3.2/oauth/access_token`, { query });
console.log(v.body);
res.send(v.body);
});
Here the data is fetched by 'got' and the response can be sent back to the client or use it in whatever way possible.
What you are doing here would be an antipattern because you are trying to edit the express request object which is not recommended unless used for authentication and other actions which are required for application level.
Also, that req is express.Request type. It doesn't have a get() property on it. Check this for your reference.
Hope this explains your question well enough!!!
cheers :)
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53048836%2fcant-fulfill-a-get-request-using-express-js%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I think that should be more like this
const got = require('got'); // I am using got for api call
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
const query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
const baseUrl = `https://graph.facebook.com`
const v = await got(`${baseUrl}/v3.2/oauth/access_token`, { query });
console.log(v.body);
res.send(v.body);
});
Here the data is fetched by 'got' and the response can be sent back to the client or use it in whatever way possible.
What you are doing here would be an antipattern because you are trying to edit the express request object which is not recommended unless used for authentication and other actions which are required for application level.
Also, that req is express.Request type. It doesn't have a get() property on it. Check this for your reference.
Hope this explains your question well enough!!!
cheers :)
add a comment |
I think that should be more like this
const got = require('got'); // I am using got for api call
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
const query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
const baseUrl = `https://graph.facebook.com`
const v = await got(`${baseUrl}/v3.2/oauth/access_token`, { query });
console.log(v.body);
res.send(v.body);
});
Here the data is fetched by 'got' and the response can be sent back to the client or use it in whatever way possible.
What you are doing here would be an antipattern because you are trying to edit the express request object which is not recommended unless used for authentication and other actions which are required for application level.
Also, that req is express.Request type. It doesn't have a get() property on it. Check this for your reference.
Hope this explains your question well enough!!!
cheers :)
add a comment |
I think that should be more like this
const got = require('got'); // I am using got for api call
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
const query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
const baseUrl = `https://graph.facebook.com`
const v = await got(`${baseUrl}/v3.2/oauth/access_token`, { query });
console.log(v.body);
res.send(v.body);
});
Here the data is fetched by 'got' and the response can be sent back to the client or use it in whatever way possible.
What you are doing here would be an antipattern because you are trying to edit the express request object which is not recommended unless used for authentication and other actions which are required for application level.
Also, that req is express.Request type. It doesn't have a get() property on it. Check this for your reference.
Hope this explains your question well enough!!!
cheers :)
I think that should be more like this
const got = require('got'); // I am using got for api call
express
.Router()
.post('/authFB', async (req, res) => {
// const agent = express();
const query = {
client_id: 'ID',
redirect_uri: `https://localhost:3000/`,
client_secret: 'SECRET',
code: Object.keys(req.body)[0]
};
const baseUrl = `https://graph.facebook.com`
const v = await got(`${baseUrl}/v3.2/oauth/access_token`, { query });
console.log(v.body);
res.send(v.body);
});
Here the data is fetched by 'got' and the response can be sent back to the client or use it in whatever way possible.
What you are doing here would be an antipattern because you are trying to edit the express request object which is not recommended unless used for authentication and other actions which are required for application level.
Also, that req is express.Request type. It doesn't have a get() property on it. Check this for your reference.
Hope this explains your question well enough!!!
cheers :)
answered Nov 19 '18 at 18:10
klvenkyklvenky
129211
129211
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53048836%2fcant-fulfill-a-get-request-using-express-js%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
This doesn't really make sense.
req
is an object describing the request made to the express server. It isn't an object from which you make an outgoing request.– Quentin
Oct 29 '18 at 15:37
I can't get the above code to compile (at least not without putting in more effort than I'm willing to guess at what should go in the gaps). Please provide a Minimal, Complete, and Verifiable example. Starting with hello world and adding your code to it would probably be a good bet.
– Quentin
Oct 29 '18 at 15:37
@Quentin What is an object from which I make outgoing requests then - because certainly this doesn't currently work?
– AnArrayOfFunctions
Oct 29 '18 at 15:50
Is it even possible to make a request from the server?
– AnArrayOfFunctions
Oct 29 '18 at 15:54
node-fetch for example
– Daniel Khoroshko
Oct 29 '18 at 16:27