4

我在一個函數中創建了一個oauth2client,並返回它。實際上,我確實通過了客戶ID,祕密,重定向網址和憑證。從我查過的內容來看,這些都是正確的。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對象的函數:

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

但是我再得到一個錯誤消息說,authClient.request不是一個函數。

類型錯誤: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。

相關問題