我使用react-google-login创建了一个gmail备份。这将在特定时间每天访问gmail API并下载新电子邮件。
我目前正在尝试将我收到的代码从前端(website.com/settings)传递到我的后端,并根据oauth2 playground设置将其发布到/ oauth2 / v4 / token /。我使用googleapis nodejs client发布它,但我一直收到400 redirect_uri错误。
我尝试过使用web client_secret.json(抛出redirect_uri错误)和另一个离线client_secret.json(导致401未授权)
以下是抛出错误的后端代码:
const google = require('googleapis');
const { OAuth2Client } = require('google-auth-library');
const keys = require('./client_secret.json');
const oAuth2Client = new OAuth2Client(
keys.web.client_id,
keys.web.client_secret,
keys.web.redirect_uris[0]
);
const code =
'4/AAANOAO_WLctYCyBJ0FfU_NP5V0c-iT8J_og0WRecywLTKJkmyw5HyXMKVLiIAAgrK84FsseyDxJO7hfjtTHl2c';
async function getToken(code) {
const r = await oAuth2Client
.getToken(code)
.then(res => console.log('success!', res))
.catch(err => console.log('error', err))
}
getToken(code);