Google Scripts CSV-файл возвращает поля и вопросительные знаки - PullRequest
0 голосов
/ 12 октября 2018

Я могу получить нужный CSV из Google API;однако - я думаю, что кодировка не совсем правильная, так как я получаю коробки и вопросительные знаки.

Кто-нибудь знает, в чем может быть причина и как я могу правильно ее кодировать?

enter image description here

function getPlayData(){
  var main = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('main');
  var token = tokenRefresh();
  var now = new Date();
  var oneMonthAgo = new Date();
  oneMonthAgo.setMonth(oneMonthAgo.getMonth() - 1);
  var oneMonthAgo = Utilities.formatDate(oneMonthAgo, "GMT+1", "yyyyMM"); 

  var currentMonth = Utilities.formatDate(new Date(), "GMT+1", "yyyyMM"); 
  for(i=0; i<1; i++){
    var options = {
      'headers':
      {
        'Authorization' : 'Bearer '+token
      }
    }
    var url = "https://storage.googleapis.com/XXXXXXX/stats/installs/installs_overview.csv";
    var csv_response = UrlFetchApp.fetch(url,options);
    var response = Utilities.parseCsv(csv_response, ',');
    for(j=0; j<response.length; j++)
    {
      main.getRange(3+j, 2, 1, 1).setValue(response[j][0])
    }
  }

  var a = '';

}

Только что обнаружил в необработанном виде - Google каким-то образом сохраняет CSV в этом формате!RAW

1 Ответ

0 голосов
/ 12 октября 2018

Похоже, что кодировка была в UTF-16, а не в UTF-8.Как только он принудительно переходит в UTF-16 с помощью:

var csv_response = UrlFetchApp.fetch(url,options).getContentText("UTF-16");

Это работает как удовольствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...