有谁知道如何检查 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 临时移动”。
有一个简单的解决方法吗?我的任何一个解决方案听起来都比另一个更好吗?