4

Ich erstelle einen oauth2client in einer Funktion und liefere ihn zurück. Ich gebe tatsächlich die Clien ID, die geheime URL und die Anmeldeinformationen weiter. Das sind alle richtig von dem, was ich überprüft habe.nodejs googleapis, authClient.request ist keine Funktion

var OAuth2 = google.auth.OAuth2; 
var oauth2Client = new OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL); 
... 
credentials = { 
     access_token: accessToken, 
     refresh_token: refreshToken 
}; 
oauth2Client.setCredentials(credentials); 

Ich tue dies dann in der Funktion, in dem oauth2client Objekt zurückgegeben:

var plus = google.plus('v1'); 
console.log(JSON.stringify(oauth_client)); 
plus.people.get({ userId: 'me' , auth: oauth_client}, function(err, response) { 
    if(err) { 
     console.log(err); 
    } else { 
     console.log(JSON.stringify(response)); 
     return response; 
    } 
}); 

aber dann bekomme ich eine Fehlermeldung, dass authClient.request keine Funktion ist.

Typeerror: authClient.request ist keine Funktion bei createAPIRequest (/node_modules/googleapis/lib/apirequest.js:180:22)

Ich bin nicht sicher, warum ich diesen Fehler. Ich habe auch console.log (JSON.stringify (oauth_client)) gemacht, um nach einer Anforderungsfunktion zu suchen, und ich habe keine gesehen. Jemand erwähnte, dass dies nicht die vollständige Prototypkette anzeigen kann und dass die Anforderungsfunktion tatsächlich vorhanden sein könnte.

+0

wäre schön, die Antwort zu akzeptieren, Sandeep hat mein Problem gelöst. – TheeBen

Antwort

2

Das Problem ist mit "oauth_client". Ich verwendete "google-auth-Bibliothek" zu authentifizieren.

var googleAuth = require('google-auth-library'); 
var auth = new googleAuth(); 
var oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl); 
oauth2Client.credentials = credentials; 

und dann diesen oauth2Client als oauth_client verwenden.

0

Nicht sicher, ob Sie das jemals gelöst haben, aber versuchen Sie, die Bereiche zu überprüfen, für die Sie Berechtigungen haben.

ich diesen Fehler und stellt sich heraus, dass ich meinen Rahmen zu ‚https://www.googleapis.com/auth/youtube.readonly‘ gesetzt hatte, und dann, wenn ich zu meinem Umfang geändert ‚https://www.googleapis.com/auth/youtube.upload‘ & ‚https://www.googleapis.com/auth/youtube‘ Ich war in der Lage, Videos hochzuladen, anstatt sich den Fehler authClient.request is not a function

Verwandte Themen