Как использовать внешний API в скрипте Google Apps, для которого требуется ключ API? - PullRequest
0 голосов
/ 17 мая 2018

Можно ли использовать внешние API в скрипте приложений Google, для которых требуются ключи API?

Как бы вы получили данные из API, для которого требуется ключ, используя Google Apps Script?

После некоторых исследований

На момент написания этого вопроса я не знал, что такое HTTP / XHR-запросы. Сценарий Google Apps имеет класс UrlFetchApp , который разрешает такие запросы.

1 Ответ

0 голосов
/ 18 мая 2018

Apps Script имеет UrlFetchApp , который выбирает ресурсы и связывается с другими хостами через Интернет.Сюда входят запросы URL с ключами API.

Пример из этого Использование Google Sheets и Google Apps Script для работы с API :

пример кода:

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet(); //get active spreadsheet
  var sheet = ss.getSheetByName('data'); //get sheet by name from active spreadsheet


  var apiKey = 'Your API Key'; //apiKey for forecast.io weather api
  var long = "-78.395602"; 
  var lat =  "37.3013648";    
  var url = 'https://api.forecast.io/forecast/' + apiKey +"/" + lat +"," + long; //api endpoint as a string 

  var response = UrlFetchApp.fetch(url); // get api endpoint
  var json = response.getContentText(); // get the response content as text
  var data = JSON.parse(json); //parse text into json

  Logger.log(data); //log data to logger to check

  var stats=[]; //create empty array to hold data points

  var date = new Date(); //create new date for timestamp

  //The following lines push the parsed json into empty stats array
    stats.push(date);//timestamp 
    stats.push(data.currently.temperature); //temp
    stats.push(data.currently.dewPoint); //dewPoint
    stats.push(data.currently.visibility); //visibility

  //append the stats array to the active sheet 
  sheet.appendRow(stats)

}
...