我试图通过编写一个小型 java 程序来让我的生活更轻松,该程序会将网站添加到网站管理员帐户并验证它们。
我正在使用谷歌在他们的 api 文档中提供的示例代码:
public static SitesEntry insertSite(WebmasterToolsService myService,
String siteUrl) throws IOException, ServiceException {
SitesEntry entry = new SitesEntry();
OutOfLineContent content = new OutOfLineContent();
content.setUri(siteUrl);
entry.setContent(content);
System.out.println("Site: " + siteUrl + " now being added.");
return myService.insert(getSitesFeedUrl(), entry);
}
但是,我不断得到:
Site: www.mydomain.com now being added.
com.google.gdata.util.InvalidEntryException: Bad Request
[Line 1, Column 406, element atom:content] No xml:base established--need an absolute URI.: www.mydomain.com
at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:602)
at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:564)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:536)
at com.google.gdata.client.Service.insert(Service.java:1409)
at com.google.gdata.client.GoogleService.insert(GoogleService.java:613)
at sample.webmastertools.WebmasterToolsClient.insertSite(WebmasterToolsClient.java:183)
at sample.webmastertools.WebmasterToolsClient.main(WebmasterToolsClient.java:449)
我知道代码与我的帐户通信,因为我还运行了printUserSites()
功能,该功能会打印网站管理员帐户下的所有网站。
有人可以帮我弄清楚这里发生了什么吗?
尝试使用 http://yoursite.com,而不是只 yoursite.com