0

Я не могу узнать, как удалить сайт Google с его идентификатором. Думаю, мне нужно создать SiteEntry для этого сайта и вызвать метод delete(), но не знаю, как создать SiteEntry с помощью только ID.Как удалить сайт Google по его идентификатору

Это, как я создаю сайты:

SitesService client = new SitesService("domain-AppName-v1"); 
client.setUserCredentials("[email protected]", "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(); 

ответ

1

Это оказался глупый вопрос.

Во-первых, https://developers.google.com/google-apps/sites/faq#DeleteSite утверждает, что API еще не поддерживает удаление Сайтов, и их необходимо удалить вручную с помощью веб-панели. Это действительно отстой, потому что в настоящее время у меня сотни сайтов, созданных с помощью API, и это боль в жопе, чтобы удалить их вручную :-(

Во-вторых, siteEntry.delete() выбрасывает исключение «delete not Implemented», так что я был неправ, добавляя, что в качестве рабочего в коде вопроса

Наконец, для извлечения SiteEntry вы должны сделать так:.

SitesService client = <initialize the service> 
SiteEntry site = client.getEntry(new URL(siteID), SiteEntry.class);