绝望地希望有人可以提供帮助。
我正在使用gdata库(Java)以及Oauth2和GoogleCredential对象来返回我个人Google网站的SiteFeed(不在Apps域中)。 SiteFeed被罚款。
我现在想使用相同的GoogleCredential来检索同一网站的ContentFeed。麻烦的是,饲料似乎是空白的。我没有其他消息。
这就是我所做的:
这应该意味着服务用户基本上可以做任何事情(我认为)。
在我的Java类中我:
创建GoogleCredential对象并将其添加到SitesService对象
static SitesService service;
public static void setSiteAuthenticationService(...all string values...){
SITES_FEED_URL = new URL(urlString);
File p12 = new File(p12Location);
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();
String[] SCOPESArray = {scopeUrl};
final List SCOPES = Arrays.asList(SCOPESArray);
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(accountId)
.setServiceAccountScopes(SCOPES)
.setServiceAccountPrivateKeyFromP12File(p12)
.build();
service = new SitesService("pgts-search");
service.setOAuth2Credentials(credential);
//service.useSsl();
service.setConnectTimeout(120000);
}
使用经过身份验证的服务调用以获取网站Feed(此方法有效)
siteFeed = service.getFeed(SITES_FEED_URL, SiteFeed.class);
使用相同的经过身份验证的服务调用获取网站内容Feed(这不起作用)
//iterate over the site entries
for (SiteEntry siteEntry : feedly.getEntries()){
//for each entry grab the content feed
ContentFeed contentFeed =
getContentFeed(sitesDomain, siteEntry.getSiteName().getValue());
}
//and then, iterate over each WebPageEntry (adding to an XML string)
for (WebPageEntry entry : contentFeed.getEntries(WebPageEntry.class)) {
log.error("Found web page entry.");
xmlString = "";
xmlString += "<doc>";
xmlString += "<title>" + entry.getTitle().getPlainText() + "</title>";
xmlString += "</doc>";
}//end of for loop
基本上,在所有这些之后,String&#34; xmlString&#34;是空的。就好像它试图抓住内容提要但有些东西正在停止它。
我知道对于这个测试网站,有几个基本页面上有简单的文字。
有人可以帮忙吗?这可能是因为我的服务帐户用户无权获取内容Feed吗?即使我们使用之前允许我抓住网站Feed的GoogleCredential吗?
也许有办法验证内容Feed确实已被检索?现在我只有一个空字符串!!
我真的很感激你能给予的任何帮助。
非常感谢
答案 0 :(得分:0)
我认为Google Sites API已经过时了。 查看支持的Google API。 https://developers.google.com/api-client-library/java/apis/
没有Google Sites API。 我建议您使用Google Site Verification API,但它的功能少于Google Sites API。