Inital commit
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
/* Copyright (c) 2008 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
package sample.oauth;
|
||||
|
||||
import com.google.gdata.client.GoogleService;
|
||||
import com.google.gdata.client.authn.oauth.GoogleOAuthHelper;
|
||||
import com.google.gdata.client.authn.oauth.GoogleOAuthParameters;
|
||||
import com.google.gdata.client.authn.oauth.OAuthHmacSha1Signer;
|
||||
import com.google.gdata.client.authn.oauth.OAuthSigner;
|
||||
import com.google.gdata.data.BaseEntry;
|
||||
import com.google.gdata.data.BaseFeed;
|
||||
import com.google.gdata.data.Feed;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
* Sample application demonstrating how to do 2-Legged OAuth in the Google Data
|
||||
* Java Client. See the comments below to learn about the details.
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class TwoLeggedOAuthExample {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// STEP 1: Gather the user's information
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This step collects information from the user, such as the consumer key
|
||||
// and which service to query. This is just a general setup routine, and
|
||||
// the method by which you collect user information may be different in your
|
||||
// implementation.
|
||||
UserInputHelper inputController =
|
||||
new TwoLeggedOAuthUserInputHelper();
|
||||
UserInputVariables variables = inputController.getVariables();
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// STEP 2: Set up the OAuth objects
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// You first need to initialize a few OAuth-related objects.
|
||||
// GoogleOAuthParameters holds all the parameters related to OAuth.
|
||||
// OAuthSigner is responsible for signing the OAuth base string.
|
||||
GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
|
||||
|
||||
// Set your OAuth Consumer Key (which you can register at
|
||||
// https://www.google.com/accounts/ManageDomains).
|
||||
oauthParameters.setOAuthConsumerKey(variables.getConsumerKey());
|
||||
|
||||
// Initialize the OAuth Signer. 2-Legged OAuth must use HMAC-SHA1, which
|
||||
// uses the OAuth Consumer Secret to sign the request. The OAuth Consumer
|
||||
// Secret can be obtained at https://www.google.com/accounts/ManageDomains.
|
||||
oauthParameters.setOAuthConsumerSecret(variables.getSignatureKey());
|
||||
OAuthSigner signer = new OAuthHmacSha1Signer();
|
||||
|
||||
// Finally create a new GoogleOAuthHelperObject. This is the object you
|
||||
// will use for all OAuth-related interaction.
|
||||
GoogleOAuthHelper oauthHelper = new GoogleOAuthHelper(signer);
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// STEP 3: Make a request to Google
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Set the scope for this particular service.
|
||||
oauthParameters.setScope(variables.getScope());
|
||||
|
||||
// Append the "xoauth_requestor_id" parameter to the feed url. This
|
||||
// parameter indicates which user you are loading the data for.
|
||||
String feedUrlString = variables.getFeedUrl();
|
||||
feedUrlString += "?xoauth_requestor_id="
|
||||
+ variables.getVariable("xoauth_requestor_id");
|
||||
URL feedUrl = new URL(feedUrlString);
|
||||
|
||||
System.out.println("Sending request to " + feedUrl.toString());
|
||||
System.out.println();
|
||||
GoogleService googleService =
|
||||
new GoogleService(variables.getGoogleServiceName(),
|
||||
"2-legged-oauth-sample-app");
|
||||
|
||||
// Set the OAuth credentials which were obtained from the steps above.
|
||||
googleService.setOAuthCredentials(oauthParameters, signer);
|
||||
|
||||
// Make the request to Google
|
||||
BaseFeed resultFeed = googleService.getFeed(feedUrl, Feed.class);
|
||||
System.out.println("Response Data:");
|
||||
System.out.println("=====================================================");
|
||||
System.out.println("| TITLE: " + resultFeed.getTitle().getPlainText());
|
||||
if (resultFeed.getEntries().size() == 0) {
|
||||
System.out.println("|\tNo entries found.");
|
||||
} else {
|
||||
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
|
||||
BaseEntry entry = (BaseEntry) resultFeed.getEntries().get(i);
|
||||
System.out.println("|\t" + (i + 1) + ": "
|
||||
+ entry.getTitle().getPlainText());
|
||||
}
|
||||
}
|
||||
System.out.println("=====================================================");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user