작성
·
48
0
앞에 질문에 답변을 받았지만 링크로 참조하라는 답변이었는데 저는 그걸로는 해결을 할 수 없었습니다. 혹시 괜찮으시면 직관적인 해결법을 알려주실 수 없나요?
send를 누르면 터미널에 이렇게 뜹니다.
Server Running at 5000
C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\jwtclient.js:193
throw new Error('The incoming JSON object does not contain a client_email field');
^
Error: The incoming JSON object does not contain a client_email field
at JWT.fromJSON (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\jwtclient.js:193:19)
at GoogleAuth._cacheClientFromJSON (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\googleauth.js:313:16)
at ReadStream.<anonymous> (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\googleauth.js:347:36)
at ReadStream.emit (node:events:519:28)
at endReadableNT (node:internal/streams/readable:1696:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
Node.js v20.16.0
PS C:\project\vswork\chatbot-app-master>
아래와 같이 값이 입력이되어있는데도말입니다. 루트파일에다가 구글 인증json을 위치를 끌어다 넣어도 그렇습니다. 가르쳐줘서 고맙습니다. 근데 이렇게 문제가 생겨서 이 구간을 벗어나고 싶습니다 ㅠㅠ
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
이수경님의 문제는 The incoming JSON object does not contain a client_email field
오류와 관련되어 있습니다. 이 오류 메시지는 Google 인증 정보를 포함하고 있는 JSON 객체에서 client_email
필드를 찾을 수 없다는 것을 의미합니다. 대부분의 경우, 이는 Google Cloud 프로젝트와 관련된 서비스 계정 키 파일이 잘못되었거나 올바르게 로드되지 않았음을 나타냅니다.
해결 방법은 다음과 같습니다:
Google Cloud Console에서 해당 서비스 계정의 키 파일을 다시 생성하십시오. 이 과정에서 JSON 키 파일을 다운로드 받게 됩니다. 해당 파일에는 client_email
과 private_key
같은 필수 필드가 포함되어 있습니다.
다운로드 받은 JSON 키 파일을 프로젝트의 적절한 위치에 저장하십시오. 저장한 후, 해당 파일의 경로를 정확히 참조하도록 프로젝트 설정을 업데이트해야 합니다.
dev.js
파일 (또는 해당 설정을 관리하는 다른 환경 설정 파일)에서 서비스 계정 키 파일 경로를 올바르게 참조하고 있는지 확인하십시오. 예를 들어, Node.js에서 Google Cloud 서비스를 사용하기 위해 google-auth-library
를 사용하는 경우, 다음과 같이 키 파일을 지정할 수 있습니다:
const {GoogleAuth} = require('google-auth-library');
const auth = new GoogleAuth({
keyFilename: 'path/to/your/service-account-file.json',
// 기타 설정...
});
GOOGLE_APPLICATION_CREDENTIALS
환경 변수에 서비스 계정 키 파일의 경로를 설정함으로써 Google SDK나 라이브러리가 해당 파일을 자동으로 찾을 수 있도록 할 수 있습니다.이 과정을 완료한 후에는 프로젝트를 다시 실행해보십시오.
이렇게 수정 후에도 문제가 지속된다면, 프로젝트 설정이나 코드 상의 다른 문제가 있을 수 있으므로, 더 자세한 분석이 필요할 수 있습니다. 코드의 다른 부분, 특히 인증 정보를 로드하고 있는 부분을 신중하게 검토해 보시기 바랍니다.