Я использовал Postman и Charles, чтобы увидеть, работает ли моя функция Smartsheet GET, и все в порядке, я возвращаю данные json string.Как я могу позвонить в API Smartsheet с помощью скрипта Google Apps?
Я попытался выполнить вызов из локального кода и с html-страницы скрипта приложения Google.
Но я получаю эту ошибку на странице приложения сценария Google:
«XMLHttpRequest не может загрузить https://api.smartsheet.com/2.0/sheets/ MY SMART БАЛАНС ID Ответ на предполетный запрос не проходит проверку контроля доступа: Нет.«Access-Control-allow- Заголовок Origin присутствует на запрошенном ресурсе. Поэтому исходный адрес «https://n-n662xy6uqbadudjpoghatx4igmurid667k365ni-script.googleusercontent.com» не имеет доступа ».
Моя цель - автоматически обновить листок Google на листе Smartsheet.
Мой запрос Ajax выглядит следующим образом:
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.smartsheet.com/2.0/sheets/SHEET_ID",
"method": "GET",
"headers": {
"authorization": "Bearer MY_SECRET_ACCESS_TOKEN",
"cache-control": "no-cache",
"postman-token": "SOME_LONG_TOKEN"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Я могу использовать метод fetchURL, упомянутый Mr.Robot. Но ответ содержит только ограниченный объем данных из smartsheet, к которому я обращаюсь, почему это так? «функция callSmartSheet() { вар PARAMS = { "заголовки": { "авторизации": "Канал", "кэш-контроль": "нет кэша", }, "метод" : «GET», } var response = UrlFetchApp.fetch ("https://api.smartsheet.com/2.0/sheets/ /", params); var responseCode = response.getResponseCode(); if (responseCode === 200) { Logger.log (response); } else { Logger.log (responseCode); } } ' –
Какие данные отсутствуют? См. Параметр include в документах API для getSheet по адресу http://smartsheet-platform.github.io/api-docs/?shell#get-sheet для получения информации о том, как убедиться, что требуемая информация возвращается. –