4

나는 하나의 함수에서 oauth2client를 생성하고 반환하고 있습니다. 나는 실제로 clien id, secret, redirect url 및 credential을 전달합니다. 그것들은 제가 확인한 것에서 모두 정확합니다.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로 사용하십시오.

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'로 설정했다 판명되었다