如何在需要 API 密钥的 Google Apps 脚本中使用外部 API?
How to use an external API in Google Apps Script that requires an API Key?
是否可以在需要 API 密钥的 google 应用程序脚本中使用外部 API?
如何使用 Google Apps 脚本从需要密钥的 API 获取数据?
Apps 脚本 UrlFetchApp 可以获取资源并通过 Internet 与其他主机通信。这包括 URL 个带有 API 个键的请求。
这个Using Google Sheets and Google Apps Script to Work with APIs的例子:
示例代码:
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)
}
是否可以在需要 API 密钥的 google 应用程序脚本中使用外部 API?
如何使用 Google Apps 脚本从需要密钥的 API 获取数据?
Apps 脚本 UrlFetchApp 可以获取资源并通过 Internet 与其他主机通信。这包括 URL 个带有 API 个键的请求。
这个Using Google Sheets and Google Apps Script to Work with APIs的例子:
示例代码:
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)
}