0

Google 애플 리케이션 스크립트를 통해 DCM에서 전체 보고서를 가져 와서 스프레드 시트에 삽입하려면 triyng입니다. 10K 행 이상으로 보고서를 가져올 수 없다는 점을 제외하면이 코드는 정상적으로 작동합니다. 앱 스크립트를 사용하여 Google 시트에 10000 개가 넘는 행이 포함 된 DCM 보고서를 가져 오는 방법은 무엇인가요?

function DCMdownload() { 

    var reportId = 111825394 
    var profileId = 2406185; 
    var httpOptions = {'headers': {'Authorization': 'Bearer ' + 
ScriptApp.getOAuthToken()}};  
    var additionalParameters = {'synchronous': 'true'}; 

    //corro el reporte e identifico el file ID 
    var ReportFile = DoubleClickCampaigns.Reports.run(profileId, reportId, 
additionalParameters); 
    var ReportFileID = (ReportFile.id); 

    //obtengo el csv y lo parseo 
    var newReportFile = DoubleClickCampaigns.Files.get(reportId, 
ReportFileID); 
    if(newReportFile.urls) {var httpOptions = {'headers': {'Authorization': 
'Bearer ' + ScriptApp.getOAuthToken()}}; 
    var csvContent = UrlFetchApp.fetch(newReportFile.urls.apiUrl, 
httpOptions).getContentText(); 
    var csvData = Utilities.parseCsv(csvContent); 

    //pego la data en la sheet que esté activa 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    sheet.getRange(1, 1, csvData.length, 
csvData[0].length).setValues(csvData); 

    //eliminar primeras filas y fila de total 
    var lastrow = sheet.getLastRow() 
    sheet.deleteRows(1, 11); 
    var lastrow = sheet.getLastRow() 
    sheet.deleteRows(lastrow); 

} 
} 

당신은 DCM 인터페이스에있는 버튼으로 드라이브에 추가 할 수있는 이것은, 이하 10.000 행이 보고서를 확인 작동합니다. 행 수가 1 만 개 이상인 경우이 옵션은 사용할 수 없습니다. 그것은 당신이 구글 시트에 둘 다 가져올 수없는 것 같습니다.

이 문제를 해결하려면 어떻게해야합니까?

국영 기업

+0

어떤 오류가 발생합니까? 얼마나 많은 셀을 가져오고 있습니까? 가져온 후에 스프레드 시트를 가질 세포는 몇 개입니까? –

답변

0

에 교차 게시 :

var csvContent = UrlFetchApp.fetch(newReportFile.urls.apiUrl, 
httpOptions).getContentText(); 

내가 그것을 기억으로 전화를 가져 오기에 설정된 속도 제한이있다 통화 당 10MB 및 100 mb per day. 해결 방법에는 요청에 일종의 제한을 사용하고 dat의 다음 부분을 얻으려면 다시 전화를 걸 수 있습니다. 에이. 이 날 100Mb를 초과하지 않는 한 괜찮습니다. 시트가 10,000 + 행이 될 것이라면 필자의 제한된 경험에서 분석을 위해 다른 것을 사용하는 것을 고려할 것입니다. Google의 Data Studio는 어떻습니까? 여러 소스 유형에서 데이터를 가져올 수 있습니까?