如何使用Google App脚本将Blogger网站与Google电子表格联系起来?

时间:2019-11-11 20:33:08

标签: google-sheets blogger google-sheets-api

我想知道是否可以将Google电子表格用作Blogger网站的后端数据库。过去我是使用Google Fusion Tables完成的。

我也可以通过使用自定义域来将Web应用程序定向到其长URL。但是,当我更新脚本时,必须部署Web应用程序。这会更改长网址,因此我需要更新重定向。

是否可以从我的网站访问和更新Google电子表格。

1 个答案:

答案 0 :(得分:0)

您无法使用Blogger进行此操作。

但是,您可以通过网站来做到这一点。

如果您设置像这样的电子表格:

Sheets setup

然后您就可以像这样创建一个Web应用程序:

var sheet = SpreadsheetApp.openByUrl("YOUR URL").getSheetByName("LinkConfig");
function getDataIndex(key) {
  var Keys = sheet.getRange(2, 1, sheet.getMaxColumns(), 1).getValues().map(function(row) {return row[0]});
  for (var i=0; i<Keys.length; i++) {
    if (Keys[i]==key) return i+2;
  }
}

function getData(key) {
  return sheet.getRange(getDataIndex(key), 2).getValue();
}


function test() {
  Logger.log(getData("url1"));
  Logger.log(getData("url2"));
}

function webApp(key) {
  //Get contents from target URL
  var content = UrlFetchApp.fetch(getData(key)).getContentText();
  return HtmlService.createHtmlOutput(content); //Returns new page with the same content
}

function doGet(e) {
  if (e.parameter.key != null && e.parameter.key != undefined) {
    return webApp(e.parameter.key);
  } else {
    return HtmlService.createHtmlOutput("<h1>Error! You didn't specify a 'key' parameter</h1>");
  }
}

并部署它。

现在,只要您不更改一个URL(即您不编辑此主要的“配置”网络应用程序),就可以更改电子表格中的值并通过传递密钥来访问链接到该页面的页面。

要在网站中使用它,请添加一个Embed元素并将URL设置为: yourwebappurl ?key = keyvalue

Adding as embedded