从其他页面更新Google网站内容
这是我的情况:我的公司非常依赖谷歌的邮箱、日历、文档等服务。每个部门都有一个谷歌网站,里面有部门的信息,而我最近被交给了维护我部门网站的任务。公司还有很多资源分布在各种内部网页上。我想把一些内部网页的内容放到我的谷歌网站上,我想到了两种可能的方法。
理想情况下,因为我只是想从内部网页上抓取一些文本,所以我想写一个谷歌应用脚本,去读取内部网站的HTML,然后解析这些HTML,提取我想要的文本放到网站上。为了测试,我尝试在我的应用中像这样显示一个页面的HTML:
function doGet(e) {
var app = UiApp.createApplication();
var myUrl = "http://www.yahoo.com";
var responseHtml = UrlFetchApp.fetch(myUrl);
var myLbl = app.createLabel(responseHtml.getContentText());
var mypanel = app.createVerticalPanel();
mypanel.add(myLbl);
app.add(mypanel);
return app;
}//END doGet
这个方法在公共网站上可以正常工作,但当我尝试使用内部网页的URL时,我收到了一个“语法错误:DNS错误:...”的提示。我猜是因为谷歌托管这个网站,无法访问我们的内部网络,尽管你从外部网络无法访问我们的任何谷歌产品,所以也许不是这个原因。我找到一个网站说可以试试使用UseIntranet参数,但我仍然得到了同样的错误:
var responseHtml = UrlFetchApp.fetch(gemUrl, {useIntranet:true});
我是不是做错了什么?
我的第二个想法是,因为我只需要每天更新几次,所以可以写一个在本地运行的Python脚本,去获取内部网页的HTML并解析它,然后更新我谷歌网站上的内容。我已经有了提取内部网页内容的本地脚本,只需要找到一种方法从本地Python脚本更新谷歌网站。(我知道这是一种比较绕的方式,但如果能成功,我也没问题)
那么,有没有办法从本地脚本更新谷歌网站呢?
提前感谢任何帮助!!
编辑:我应该澄清一下我尝试从哪里做这个。我正在使用谷歌网站。当我进入管理我的网站时,有一个添加谷歌应用脚本的部分。所以我为我的谷歌网站创建了一个谷歌应用脚本,这就是我写代码尝试读取内部网页HTML内容的地方。然后我进入编辑我网站上的一个页面,选择“插入”,再选择“应用脚本小工具”。接着我选择我为谷歌网站创建的应用脚本小工具,并将其添加到页面上。