NoneCreate WriteStream перезаписывает данные в CSV-файл. Данные из Google Drive API. Массив идентификаторов файлов, созданных из файла журнала

Я пытаюсь извлечь файлы CSV с моего диска Google. Файлы, которые я хочу извлечь, сначала просматриваются в файле журнала, и создается новый массив идентификаторов файлов. Этот массив подается в цикл for, который загружает файлы, а затем передает их в другой файл. Данные перезаписываются и возникают некоторые ошибки в данных (неполные строки из CSV). Я не уверен, что использую правильный метод, и не уверен, что искать, чтобы узнать лучший подход.

for (пусть i = 0; i

fs.readFile('credentials.json', (err, content) => {
    if (err) return console.log('Error loading client secret file:', err);
    // Authorize a client with credentials, then call the Google Drive API.
    //authorize(JSON.parse(content), listFiles);
    authorize(JSON.parse(content), getFile);
    //authorize(JSON.parse(content), uploadFile);
  });

   function authorize(credentials, callback) {
    const { client_secret, client_id, redirect_uris } = credentials.installed;
    const oAuth2Client = new google.auth.OAuth2(
        client_id, client_secret, redirect_uris[0]);

    // Check if we have previously stored a token.
    fs.readFile(TOKEN_PATH, (err, token) => {
        if (err) return getAccessToken(oAuth2Client, callback);
        oAuth2Client.setCredentials(JSON.parse(token));
        //callback(oAuth2Client);//list files and upload file
        callback(oAuth2Client, newDataArray);//get file

    });
  }

      function getFile(auth, newDataArray){

      const drive = google.drive({ version: 'v3', auth });
        const dest = (fs.createWriteStream('./data.csv'));
          drive.files.get({fileId: newDataArray[i], alt: 'media'}, {responseType: 'stream'},
             function(err, res){
               return res.data
              .on('end', () => {
                  console.log(`Done ${newDataArray[i]}` );

              })
              .on('error', err => {
                  console.log('Error', err);
              })
              .pipe(dest);
            }) 

Это консольный журнал из этого кода:

Файл идентификаторов в файл журнала: [ '' ] новый массив [ '1Rte0r2uMQWjs20OFr5aeGdFlsjBfzdY2', '1xkbjzk2dW1TK6JEz4Gq6Ezi4gkij-LFP', '172FNhatzfr8UOpxyQ2Jlu59RZBgzXYD2', '1NB9phAx-iTaXAzsJIw7nKijPOAM3xrVh', '1KNRaF37M68AxztI0OJjsHRw7rXESvQAy', '1RxiqfEFcyZcMoOPbRN4__BfY_5GC-xGN', '1LlJdA1UjI8MAV_j4UyYP4Sd_XgTUwHvH' ] Готово 1xkbjzk2dW1TK6JEz4Gq6Ezi4gkij- LFP Совершено 1NB9phAx-iTaXAzsJIw7nKijPOAM3xrVh Закончили 1KNRaF37M68AxztI0OJjsHRw7rXESvQAy Совершено 1Rte0r2uMQWjs20OFr5aeGdFlsjBfzdY2 Совершено 1RxiqfEFcyZcMoOPbRN4__BfY_5GC-xGN Готово 172FNhatzfr8UOpxyQ2Jlu59RZBgzXYD2 Готово 1LlJdA1UjI8MAV_j4UyYP4Sd_XgTUwHvH

0 ответов

Другие вопросы по тегам