Bei der Verwendung des google-auth-library-Knotenmoduls von Google werden die Anforderungen von meinem Aktualisierungstoken nicht korrekt wiedergegeben.google-auth-library: Aktualisierungs-Token, das die Anforderung nicht wiederholt
Die Botschaft, die ich in dem err Rückruf erhalten ist:
Error: Invalid Credentials
ich andere Fragen Umgang mit diesem Thema gesehen habe, aber die dort vorgestellten Lösungen in haben mein Problem nicht lösen.
Details:
Im folgenden Code, übernehmen das Argument googleAccessToken aussehen:
{
"access_token": "AN ACCESS TOKEN",
"refresh_token": "A REFRESH TOKEN"
}
Eine minimale Version meines Klienten:
exports.nextEvent = function (googleAccessToken, cb) {
// Load client secrets from a local file.
fs.readFile('client_secret.json', function processClientSecrets(err, clientSecretContent) {
if (err) {
console.error('Error loading client secret file: ' + err);
return;
}
authorize(JSON.parse(clientSecretContent), getNextEvent);
});
/**
* Create an OAuth2 client with the given credentials, and then execute the
* given callback function.
*
* @param {Object} credentials The authorization client credentials.
* @param {function} callback The callback to call with the authorized client.
*/
function authorize(clientCredentials, callback) {
var clientSecret = clientCredentials.web.client_secret;
var clientId = clientCredentials.web.client_id;
var redirectUrl = clientCredentials.web.redirect_uris[0];
var auth = new googleAuth();
var oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);
oauth2Client.setCredentials(googleAccessToken);
callback(oauth2Client);
}
/**
*
*
* @param {google.auth.OAuth2} auth An authorized OAuth2 client.
*/
function getNextEvent(auth) {
var calendar = google.calendar('v3');
calendar.events.list({
auth: auth,
calendarId: 'primary',
timeMin: (new Date()).toISOString(),
maxResults: 10,
singleEvents: true,
orderBy: 'startTime'
},
function (err, response) {
if(err){
console.error(err)
}
console.log("your next events are : " + response);
}
);
}
};
In der Tat! Genau so habe ich es gehandhabt :) –