I am developing a Java application that is registered with the Google Apps Engine (GAE) with the name "searcegadget2". I implemented 3-legged OAuth using OAuthHmacSha1Signer (). I am using the access token correctlyand save it to the session (session is on).
Then I invoke the servlet using the onclick event link. This servlet must access the Spreadsheet service using an accesstoken. My code is:
GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
oauthParameters.setOAuthType(OAuthParameters.OAuthType.THREE_LEGGED_OAUTH);
oauthParameters.setScope("https://spreadsheets.google.com/feeds/");
oauthParameters.setOAuthToken(request.getSession().getAttribute("oauth_token").toString());
oauthParameters.setOAuthVerifier(request.getSession().getAttribute("oauth_verifier").toString());
oauthParameters.setOAuthTokenSecret(request.getSession().getAttribute("oauth_token_secret").toString());
out.println("Accessing Service");
GoogleService googleService = new GoogleService("wise", "searceapps-searcegadget2-1");
out.println("<br/>Setting Parameter");
googleService.setOAuthCredentials(oauthParameters, new OAuthHmacSha1Signer());
out.println("<br/>Setting URl");
URL feedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");
out.println("<br/>Accessing ResultFeed");
SpreadsheetFeed resultFeed = googleService.getFeed(feedUrl, SpreadsheetFeed.class);
out.println("<div id='feed'>");
out.println("Response Data:");
out.println("=====================================================");
out.println("| TITLE: " + resultFeed.getTitle().getPlainText());
if (resultFeed.getEntries().isEmpty()) {
out.println("|\tNo entries found.");
} else {
List<SpreadsheetEntry> spreadsheets = resultFeed.getEntries();
for (int i = 0; i < spreadsheets.size(); i++) {
SpreadsheetEntry entry = spreadsheets.get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
}
out.println("=====================================================");
out.println("</div>");
I printed all the oauthParameter parameters for testing, and they are set correctly. But, invoking this servlet, the only result I get is:
Service access
gdata-spreadsheet-3.0.jar, !!! ?
, , " [company-id] - [app-name] - [app-version]. Google ." , , - "searcegadget2", - "1".
: API Google: Java, Java, OAuth Google
user284291