簡體   English   中英

如何檢查Google網站是否存在?

[英]How do I check if a Google Site exists?

有誰知道如何檢查Google網站是否存在?

我正在嘗試使用var site = SitesApp.createSite(domain, siteName, name, summary); 創建一個新站點。 但是,如果站點(讀取URL)已經存在,則會引發錯誤。

然后,我嘗試使用var test = SitesApp.getSiteByUrl('https://sites.google.com/a/' + domain + '/' + siteName); 檢查該站點是否存在,但是如果該站點不存在,它將引發錯誤。

我想要的最終結果是:

  1. 檢查網站是否存在。
  2. 如果存在,請在其末尾修改站點名稱(即添加“ 1”),然后再次檢查。
  3. 建立網站

我有兩種可能的解決方案,但我對其中任何一種都不感到興奮。 它們都將在while循環內運行,該循環將繼續直到找到不存在的url。

解決方案1使用try / catch運行SitesApp.getSiteByUrl()

解決方案2將try / catch與UrlFetchApp.fetch(url).getResponseCode() 檢查是否返回“ 200 OK”。 如果不是,請嘗試使用getHeaders()從標頭中獲取位置,然后將其解析為“ WebspaceNotFound”。 不幸的是,我不能僅依靠響應代碼,因為不存在的站點和要求您以“ 302臨時移動”的身份登錄兩個站點的站點。

為此有一個簡單的解決方法嗎? 我的兩個解決方案聽起來都比另一個更好嗎?

因為您可以獲取域中所有站點的列表,所以可以執行以下操作:

function siteExists(domain, siteName) {
  var sites = SitesApp.getSites(domain);
  sites.forEach(function(n, i, a){a[i] = n.getName()});

  if(~sites.indexOf(siteName)) return true;
  else return false;
}

請注意,如果您確實有很多站點,則可能需要調用幾個getSites。 另外,由於我是通過管理員帳戶進行測試的,因此,當您無法訪問所有站點時,我也不知道如何使用。 希望它將為您指明方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM