我无法找到如何删除给定ID的谷歌网站。我想我需要为该网站创建SiteEntry
并调用delete()
方法,但不知道如何仅使用ID创建SiteEntry
。
这就是我创建网站的方式:
SitesService client = new SitesService("domain-AppName-v1");
client.setUserCredentials("adminUSer@domain.com", "password");
//Define Site
SiteEntry entry = new SiteEntry();
entry.setTitle(new PlainTextConstruct("Accounting 001"));
entry.setSummary(new PlainTextConstruct("Accounting 001"));
entry.getCategories().add(new Category(TagCategory.Scheme.TAG, "Course Sessions", null));
//Create the site
SiteEntry result = client.insert(new URL("https://sites.google.com/feeds/site/domain.com/"), entry);
//This Delete does not work
result.delete();
//Trying to setup the id in a SiteEntry, it doesn't work either
SiteEntry e = new SiteEntry();
e.setId(result.getId());
e.delete();
这是一个愚蠢的问题。
首先,https://developers.google.com/google-apps/sites/faq#DeleteSite声明API还不支持删除网站,必须通过web面板手动删除网站。这真的很糟糕,因为我目前有数百个网站用API创建,手动删除它们是一件痛苦的事:-(
其次,siteEntry.delete()抛出一个异常,说"delete not implemented",所以我在问题代码中添加它时出错了。
最后,要检索SiteEntry,您必须这样做:
SitesService client = <initialize the service>
SiteEntry site = client.getEntry(new URL(siteID), SiteEntry.class);