데이터가 정기적으로 업데이트되는 간단한 Google 시트가 있습니다 (예 : 매주, 지난주 데이터가 삭제됨). 이 시트를 bigquery의 테이블로 선언하고 데이터를 가져와 동일한 구조 (기본적으로 보관)로 정적 테이블에 추가하는 스크립트를 앱 스크립트에 작성했습니다.
수동으로 작동하지만 앱 스크립트를 통해 작동하지 않습니다 (트리거 사용). 나는 인터넷에서 읽었습니다. o-auth 및 범위 지정이 필요하지만 내 모든 Google 시트, bigquery 자격 증명은 내 소유입니다. 누구든지 내 앱 스크립트에 범위 / o-auth를 작성하도록 도울 수 있습니까?
function saveQueryToTable() {
var projectNumber = 'XXXX';
var projectId = 'XXXX';
var datasetId = 'YYYY';
var tableId = 'archives';
var job = {
configuration: {
query: {
"allowLargeResults": true,
query:'SELECT * FROM YYYY.temp_table_connected_to_a_google_sheet',
destinationTable: {
projectId: projectId,
datasetId: datasetId,
tableId: tableId
},
'writeDisposition':'WRITE_APPEND',
'maximumBillingTier': '5'
}
}
};
var queryResults = BigQuery.Jobs.insert(job, projectId);
Logger.log(queryResults.status);
}
스크립트에서 범위를 약간 선언하려고 시도했습니다.
// scope = https://www.googleapis.com/auth/bigquery ; // scope = https://www.googleapis.com/auth/drive ';
// OAuth2.createService ( 'drive') 등을 반환합니다.
코드를 실행하기 전에 초기화하려면 Google Drive API를 호출해야합니다. 예를 들면 :
//just a random call to activate the Drive API scope
var test = Drive.Properties.list('....a folderid of a Drive folder you have access to....')
자세한 내용은이 문제 추적기 를 참조하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다