Node.js로 작성된 내 알렉사 스킬 내에 Google 워드 프로세서 시트를 만들고 싶습니다. 나는 Google API를 사용하도록 설정했기 때문에 amazon dev 포털에서 필요한 범위를 설정했는데 실제로 Google 계정에 로그인 할 수 있으므로 (게시 된 코드의 처음 몇 줄이 작동하는 것처럼 보임) 어떤 오류 메시지도 표시되지 않습니다. 그러나 시트는 절대로 만들어지지 않습니다.노드 js로 Google 스프레드 시트 만들기
이제 주된 질문은 누구든지 내 코드에서 문제를 볼 수 있는지 여부입니다.
하지만 나는 또한 매우 흥미가있을 것입니다. 나는 계정 연결을 사용하기 때문에 Alexa 테스트 시뮬레이터에서 그 코드를 시도 할 수는 없지만 그것을 실행하기 전에 Alexa에 업로드해야합니다. 모든 디버그 메시지를 가져올 수 없습니다. 그렇게 최선의 방법으로 디버깅하나요?
if (this.event!== undefined)
{
if (this.event.session.user.accessToken === undefined)
{
this.emit(':tellWithLinkAccountCard','to start using this skill, please use the companion app to authenticate on Google');
return;
}
}
else
{
this.emit(':tellWithLinkAccountCard','to start using this skill, please use the companion app to authenticate on Google');
return;
}
var oauth2Client = new google.auth.OAuth2('***.apps.googleusercontent.com', '***', '***');
oauth2Client.setCredentials({
access_token: this.event.session.user.accessToken,
refresh_token: this.event.session.user.refreshToken
});
var services = google.sheets('v4');
services.spreadsheets.create({
resource : {properties:{title:"MySheet"}},
auth : oauth2Client
}, function(err,response) {
if(err) {
console.log('Error : unable to create file, ' + err);
return;
} else {
console.dir(response);
}
});
편집 : 수동으로 하단 부분 만 시도하고 스프레드 시트를 만들 수있었습니다. 그래서 문제는 실제로 "this.event.session.user.accessToken"을 사용하여 액세스 토큰을 검색하는 것 같습니다.
this.event.session.user.accessToken은 어디에서 왔습니까? 서비스 계정을 사용하는 것처럼 냄새가 나나요? – pinoyyid
계정 연결을 위해 amazon alexa 인터페이스에서 제공합니다. 나는 서비스 계정을 사용한다고 생각하지 않는다. – Lot
http 요청/응답을 통해 200이나 오류를 반환했는지 확인할 수 있습니까? – pinoyyid