Я создал новый проект в консоли разработчика Google и создал идентификатор клиента OAuth, для чего нужно установить согласие OAuth. Я выбираю другой вариант и могу получить идентификатор клиента и секретный идентификатор клиента. Итак, теперь я хочу сгенерировать токен доступа из него, и для этого мне нужны идентификатор клиента, секретный идентификатор клиента и адрес перенаправления.
Я просто запутался, что передать в перенаправлении URI. Я пытался как с веб-URL, так и с сервером URL-адреса тоже. Я всегда получаю redirect_uri mismatch
Вот мой код:
function getOAuthClient() {
return new google.auth.OAuth2('902966180712-****', // client id
'1xk****', // client secret id
'https://api****.com/oauthCallback' // redirect url
);
}
function getAuthUrl () {
var oauth2Client = getOAuthClient();
// generate a url that asks permissions for Google+ and Google Calendar scopes
var url = oauth2Client.generateAuthUrl({
access_type: 'offline',
scope: 'https://www.googleapis.com/auth/androidpublisher'
});
return url;
}
exports.getAccessToken = (req,res) => {
var url = getAuthUrl();
res.send(`
<html>
<body>
<a href=${url}>Click</a>
</body>
</html>
`)
}
exports.oauthCallback = async (req,res) => {
console.log('req...', req.query)
console.log('oauth callback is called');
var oauth2Client = getOAuthClient();
console.log('oauth2Client... ', oauth2Client);
var code = req.query.code; // the query param code
console.log('code... ', req.query,code)
const {tokens} = await oauth2Client.getToken(code)
oauth2Client.setCredentials(tokens);
// res.json(tokens)
res.send(`
<html>
<body>
<h1>Token is</h1>
<p>${tokens}</p>
</body>
</html>
`)
}
Я получаю запрос req.query как неопределенный. И я могу четко сказать, что я просто ошибаюсь, чтобы дать правильное перенаправление URI ..
Так что, пожалуйста, помогите мне ..