Usando Oauth y Gdata para construir una aplicación simple en Java

Estoy tratando de crear una aplicación simple en el motor de aplicaciones donde los usuarios inician sesión a través de su cuenta de Google, y luego agrega un evento a su calendario. Y estoy usando Java junto con Eclipse para esto. He encontrado un código simple en línea:

public void doGet(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException { 
    // Create an instance of GoogleOAuthParameters 
    GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters(); 
    oauthParameters.setOAuthConsumerKey(CONSUMER_KEY); 
    oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET); 
    oauthParameters.setScope("http://docs.google.com/feeds/"); 
    GoogleOAuthHelper oauthHelper = new GoogleOAuthHelper( 
            new OAuthHmacSha1Signer()); 
    // Remember the token secret that we stashed? Let's get it back 
    // now. We need to add it to oauthParameters 
    String oauthTokenSecret = (String) req.getSession().getAttribute( 
    "oauthTokenSecret"); 
    oauthParameters.setOAuthTokenSecret(oauthTokenSecret); 
    // The query string should contain the oauth token, so we can just 
    // pass the query string to our helper object to correctly 
    // parse and add the parameters to our instance of oauthParameters 
    oauthHelper.getOAuthParametersFromCallback(req.getQueryString(), 
            oauthParameters); 
    try { 
        // Now that we have all the OAuth parameters we need, we can 
        // generate an access token and access token secret. These 
        // are the values we want to keep around, as they are 
        // valid for all API calls in the future until a user revokes 
        // our access. 
        String accessToken = oauthHelper.getAccessToken(oauthParameters); 
        String accessTokenSecret = oauthParameters.getOAuthTokenSecret(); 
        // In a real application, we want to redirect the user to a new 
        // servlet that makes API calls. For the safe of clarity and simplicity, 
        // we'll just reuse this servlet for making API calls. 
        oauthParameters = new GoogleOAuthParameters(); 
        oauthParameters.setOAuthConsumerKey(CONSUMER_KEY); 
        oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET); 
        // This is interesting: we set the OAuth token and the token secret 
        // to the values extracted by oauthHelper earlier. These values are 
        // already in scope in this example code, but they can be populated 
        // from reading from the datastore or some other persistence mechanism. 
        oauthParameters.setOAuthToken(accessToken); 
        oauthParameters.setOAuthTokenSecret(accessTokenSecret); 
        oauthParameters.setOAuthCallback("http://www.facebook.com"); 
        oauthHelper.getUnauthorizedRequestToken(oauthParameters); 
        // Create an instance of the DocsService to make API calls 
        DocsService client = new DocsService("Malware Inc."); 
        // Use our newly built oauthParameters 
        client.setOAuthCredentials(oauthParameters, new OAuthHmacSha1Signer()); 
        URL feedUrl = new URL("https://docs.google.com/feeds/default/private/full"); 
        DocumentListFeed resultFeed = client.getFeed(feedUrl, 
                DocumentListFeed.class); 
        for (DocumentListEntry entry : resultFeed.getEntries()) { 
            resp.getWriter().println(entry.getTitle().getPlainText()); 
        } 
    } catch (OAuthException e) { 
        // Something went wrong. Usually, you'll end up here if we have invalid 
        // oauth tokens 
        resp.getWriter().println("Here is the problem"); 
        //Server shows 500 problem 
    } catch (ServiceException e) { 
        // Handle this exception 
    } 
} 

Registré mi aplicación y agregué la CLAVE y el Secreto sobre la función, pero cuando la implemento en el motor de la aplicación, aparece un error de 500 servidores.

¿Podría alguien publicar un programa simple de Java que use gdata y oauth para iniciar sesión en un usuario de Google e imprimir los contactos en la pantalla? Gracias. -Manoj

Respuesta 1

En una entrevista reciente, me preguntaron cómo funciona HashMap en Java y pude explicarlo bien y explicar que, en el peor de los casos, HashMap puede degenerar en una lista debido al encadenamiento. Yo era ...

No sé qué pasó, pero cuando instalé recientemente Eclipse Mars (4.5.2) en mi nueva PC, cada vez que lo inicio, crea una estructura de carpetas vacía en mi carpeta de descargas, y parece que no puedo encontrarlas. ..

Tengo un complemento de eclipse (desarrollado por un tercero, sin código fuente disponible) que utiliza una biblioteca binaria para realizar parte de su trabajo. La biblioteca es de código abierto. El complemento distribuido incluye solo ...

Tenemos una aplicación que necesita comunicarse con un gestor de colas de instancias múltiples. Ambas (instancias) se ejecutan en el puerto predeterminado y tienen direcciones únicas. serverA.internal.company.address ...