Как отправить текст (кириллицу) в google sheets содержащий пробелы?

Рейтинг: 0Ответов: 1Опубликовано: 09.01.2023

Создал скрипт в https://script.google.com который пишет в А5 и B5 текст через get-запрос:

function doGet(e)
{
  var sheet = SpreadsheetApp.openById("15hEM**скрыл**v88");
  sheet.getRange("A5").setValue(e.parameter.p1);
  sheet.getRange("B5").setValue(e.parameter.p2);
}

Отправляю GET запрос:

https://script.google.com/macros/s/AKfycbxW**скрыл***OH/exec?p1=qwerty&p2=Отправка данных в Google Docs GET запросами

Получаю ответ 400 потому что текст Отправка данных в Google DocsGET запросами содержит пробелы.

Если убираю пробелы (текст это кириллица),то ответ 200 и такие кракозябры пишет в B5 введите сюда описание изображения

Ответы

▲ 1Принят

Проблема в том, откуда вы отправляете запрос. Судя по тому, что видно только URL, то очень похоже на какое-то php в Win с кодировкой CP1251.

Переведите свой файл на стороне инициатора запроса в нормальную кодировку как все, и будет все работать.

Для исключения пробелов в строке запроса используются инструменты кодирования строки параметров. Например, для JavaScript это метод encodeURIComponent().

Без понимания того, как вы делаете запрос, лучше ответа не получить.