2017-12-19 11 views
0

Windows 작업 관리자를 사용하여 작업을 프로그래밍했습니다. bigrquery 라이브러리를 통해 BigQuery 데이터에 액세스하는 것으로 구성됩니다. 내 자격 증명을 로컬 파일 httr-oauth에 저장했습니다..httr-oauth 파일로 인해 Windows 작업이 실패합니다.

나는이 라이브러리를 사용하고 있습니다 : 작업은 몇 주 동안 일하고있다

library(bigrquery) 
library(assertthat) 
library(httpuv) 

을 갑자기 나는 로그 파일이 메시지 (.Rout)를 참조하십시오 :

Waiting for authentication in browser... 
Press Esc/Ctrl + C to abort 
Please point your browser to the following url: 
https://accounts.google.com/o/oauth2/auth?client_id=.... 

그것을 토큰을 새로 고쳐야하는 것처럼 보이지만 수동으로 스크립트를 실행하면 모든 것이 정상이며 내 httr-oauth이 정상적으로 작동합니다.

무슨 일이 일어나고 있는지 알고 싶으십니까? 미리 감사드립니다!

+0

OAuth 토큰이 만료 된 것 같습니다. 수동으로 실행 한 경우 갱신하라는 메시지가 표시 되었습니까? 그렇다면 예약 된 작업에 사용하는 토큰을 덮어 썼습니까? (다른 위치에서 해본 적이 있다면 그렇게하지 않았을 수도 있습니다)? 그렇지 않은 경우 수동으로 새 토큰으로 바꾸려고 했습니까? –

+0

접두사 점없이'httr-oauth'라는 파일이 있습니까? 대신'.httr-oauth' (점으로 표시)가 예상됩니다. –

+0

예, @ Aurèle, 접두어 점이 있습니다. 수동으로 실행하면 새 파일로 덮어 씁니다. 그래서 내가 무엇이 실패하고 있는지 이해하지 못합니다. –

답변

0

요약하면 서비스 계정을 사용해야합니다.

Google 서비스 계정으로 연결을 인증하도록 라이브러리 드라이버를 구성하는 방법을 알아보십시오. 이 방법으로 연결을 인증하면 드라이버가 서비스 계정을 대신하여 인증을 처리하므로 개별 사용자 계정이 직접 관련되지 않으며 사용자 입력이 필요하지 않습니다.

이렇게 연결을 인증하려면 Google 서비스 계정 이메일 주소와 서비스 계정의 개인 키 파일에 대한 전체 경로를 제공해야합니다. 서비스 계정을 설정할 때 개인 키 파일을 생성하고 다운로드 할 수 있습니다.

여기에 더 있음 : https://developers.google.com/identity/protocols/OAuth2ServiceAccount

+0

정보 주셔서 감사합니다. –