有谁知道如何检查Google网站是否存在?如何检查Google网站是否存在?
我正在尝试使用var site = SitesApp.createSite(domain, siteName, name, summary);
来创建一个新网站。但是,如果站点(读取URL)已经存在,则会引发错误。
然后我试着用var test = SitesApp.getSiteByUrl('https://sites.google.com/a/' + domain + '/' + siteName);
来检查网站是否存在,但是如果它不存在就会抛出错误。
最终的结果,我想会是:
- 检查是否存在网站。
- 如果存在,修改站点名称(即添加'1') 到它的末尾,然后再次检查。
- 创建网站
我有两个可能的解决方案,但我并不感到有其一。他们两个都会在while循环内运行,直到找到不存在的url为止。
解决方案1 使用try/catch运行SitesApp.getSiteByUrl()
。
解决方案2 使用try/catch与UrlFetchApp.fetch(url).getResponseCode()
。检查它是否返回'200 OK'。如果没有,尝试使用getHeaders()
从标题中获取位置,然后解析它以查找'WebspaceNotFound'。不幸的是,我无法单独依靠响应代码,因为一个不存在的网站和一个要求你登录的网站都报告为'302 Moved Temporarily'。
有没有简单的解决方法呢?我的解决方案听起来比其他解决方案好吗?
您有解决方案1时看到的问题吗?它看起来对我来说是最好的解决方案。 – 2013-03-11 19:44:41
我同意Phil的观点,你也可以在try/catch中使用'createSite',这样如果它没有失败,你的网站将会在一个步骤中创建;-) – 2013-03-11 21:09:41
感谢Phil和Serge。我想尽管在这种情况下使用try/catch是非常低音的,但它似乎是最好的方法。 – 2013-03-12 13:11:41