4

私はoauth2clientを1つの関数で作成して返します。私は実際にclien id、秘密、リダイレクトurl、信任状を渡します。それらは私がチェックしたものからすべて正しいです。nodejs googleapis、authClient.requestは関数ではありません

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); 

私はその後oauth2clientオブジェクトが返される関数の中で次の操作を行います。私は、その後authClient.requestは関数ではありませんというエラーメッセージが表示されますただし

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; 
    } 
}); 

例外TypeError:authClient.requestはcreateAPIRequestで機能 ではありません(/node_modules/googleapis/lib/apirequest.js:180:22)

私はこのエラーを取得する私はなぜわかりません。私はまた、console.log(JSON.stringify(oauth_client))を使ってリクエスト関数をチェックしましたが、私は何も見ませんでした。誰かがこれが完全なプロトタイプチェーンを表示できず、要求関数が実際にそこに存在する可能性があると述べました。

+0

は答えを受け入れることがうれしく、sandeepは私の問題を解決しました。 – TheeBen

答えて

2

"oauth_client"に問題があります。認証に "google-auth-library"を使用しました。

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

このようにして、このoauth2Clientをoauth_clientとして使用します。

0

これを解決したことがあるのか​​どうかはわかりませんが、権限があるスコープを確認してみてください。

が、私はこのエラーを取得し、私は私が動画をアップロードできるの代わりに、エラー authClient.request is not a function

になっていた「 https://www.googleapis.com/auth/youtube」「 https://www.googleapis.com/auth/youtube.upload」&に私の範囲を変更したとき、私は私の範囲は、次に「 https://www.googleapis.com/auth/youtube.readonly」に設定していたが判明しました。
関連する問題