나는 내 자신의 Gmail 사용자를 사용하여 공개 캘린더를 읽습니다. 로컬 작업 프로그램을 얻고, CONSOLE.LOG (내 토큰을 보호하기 위해 변경 값)으로 자격 증명/토큰을 표시 : 나는 또한 StackOverflow의이 말을 한AWS Lambda NodeJS - Google API에 대한 OAuth
Got Token
OAuth2Client {
transporter: DefaultTransporter {},
_certificateCache: null,
_certificateExpiry: null,
_clientId: 'xxxxxxxxxxxxxx',
_clientSecret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
_redirectUri: 'urn:ietf:wg:oauth:2.0:oob',
_opts: {},
credentials:
{ access_token: 'xxxxxxx',
refresh_token: 'xxxxxxxxxxxxxxxxxx',
token_type: 'Bearer',
expiry_date: 1512151860704 } }
: How to oAuth Google API from Lambda AWS?를하고 위의 표시로 나에게 같은 access_token이했다.
내가 이해한다면, 나는 액세스 토큰을 내 프로그램이나 파일에 넣어야하고, 어떻게해야할지 모르겠다. https://developers.google.com/google-apps/calendar/quickstart/nodejs
내가 내 client_secret.json 파일 또는 어떤 어딘가에이 토큰을 배치해야합니까 : 내 코드는 여기에 구글의 예에서왔다? TOKEN의 값으로 listEvents 메소드에 직접 전달하려고 시도했지만 "400 Bad Request"가 발생했습니다.
업데이트 1 :
exports.getCalendarJSONEventsNew =
function getCalendarJSONEvents(callback) {
console.log("started getCalendarJSONEventsNew");
fs.readFile('OAuth2Client.json', 'utf8',
function processedFile(err, content) {
if (err) {
console.log('Error loading OAuth2Client.json: ' + err);
return;
}
console.log("content=");
console.log(content);
var tokenFromFile = JSON.parse(content);
listEvents(tokenFromFile, function(jsonResult) {
console.log("Json Callback Events=");
console.log(jsonResult);
callback(jsonResult);
});
});
}
오류 : 나는 다음과 같이 읽기 다음 파일을 디스크에 저장하고 시도 JSON 정확하게 할 수있을 것 같지 않기 때문에로 다시 역 직렬화하지 않는 방법 목적 :
OAuth2Client {
^
SyntaxError: Unexpected token O in JSON at position 0
업데이트 2 : 그럼, 나는
credentials: {
access_token: 'xxxxx',
refresh_token: 'xxxxxx',
token_type: 'Bearer',
expiry_date: 1512151860704
}
,691로 다음과 같은 또 다른 아이디어를 저장 한
을 .credentials/calendar-nodejs-quickstart.json으로 지정하십시오. 내가 서버에서 실행했을 때
다음, 나는 다시이 응답을 얻었다 :
Authorize this app by visiting this url: https://accounts.google.com/o/oauth2/auth?etc...