hello,

i'm not a java dev (not yet). But i have implemented Oauth1.0 in VB6.
i can share the code if you want. it could help because it's less talkative

best regards.

2013/1/9 ritesh mehandiratta <[email protected]>

> Hi i am trying to implement OAuth1.0 following this 
> tutorial<https://developers.google.com/accounts/docs/OAuth_ref> in
> this tutorial there is a heading OAuthGetRequestToken
>
> in which for getting request token we have to send a post request to URL
>
> www.google.com/accounts/OAuthGetRequestToken
>
> i am sending a post request in my code in google app engine my code is:
>
>
> package org.ritesh;
>
>     import java.io.BufferedInputStream;
>     import java.io.BufferedReader;
>     import java.io.DataInputStream;
>     import java.io.File;
>     import java.io.FileInputStream;
>     import java.io.IOException;
>     import java.io.InputStream;
>     import java.io.InputStreamReader;
>     import java.io.OutputStreamWriter;
>     import java.net.HttpURLConnection;
>     import java.net.URL;
>     import java.net.URLEncoder;
>     import java.security.KeyFactory;
>     import java.security.NoSuchAlgorithmException;
>     import java.security.PrivateKey;
>     import java.security.spec.EncodedKeySpec;
>     import java.security.spec.InvalidKeySpecException;
>     import java.security.spec.PKCS8EncodedKeySpec;
>     import java.util.Iterator;
>     import java.util.Map;
>     import java.util.Set;
>     import java.util.TreeMap;
>
>     import com.google.gdata.client.authn.oauth.*;
>     import com.google.gdata.util.common.util.Base64;
>     import com.google.gdata.util.common.util.Base64DecoderException;
>     import com.sun.org.apache.xerces.internal.util.URI;
>
>     import javax.servlet.ServletContext;
>     import javax.servlet.http.*;
>
>
>     @SuppressWarnings("serial")
>     public class HelloWorldServlet extends HttpServlet {
>         @SuppressWarnings({ "unchecked", "unchecked" })
>         public void doGet(HttpServletRequest req, HttpServletResponse resp)
>                 throws IOException {
>
>         String myrsakey=    
> "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALwVoQ3Ksd9gwZY3"
>             
> +"a7Flz5bf1oCiYe8XSn6vlkaPiA0jBcPJAmACjI023/Z+8KgDbyhlRumTtcateXNZ"
>             
> +"FVb7q/BKTQWgxK1Fj2XGUkWQz6Nsp/sk54M+R4n3XkTp6W7HhFERE81Iobgy+KtM"
>             
> +"vr5f/tJbCtLspKSaq2totveKMvMDAgMBAAECgYBIeTke3FzfyyOtI1vO9oEgDM5V"
>             
> +"sLx16Y6d9EC+na36CeW9xGWy4yiPfXadP9qxkukxMp05gd5IWS30QX5UjxN4ER9j"
>             
> +"tEDCfDePnrOoi6aUpLXuHoOQbhVIBMTEsFzw9v837a2GOnU0YMgUnGTzC8Ql/3Aw"
>             
> +"kFPNFqVEG57ItzZYGQJBAO8K8qXiDfUeMUjGLwqbRk5NgM7GVlPI80f3/V2o7EtP"
>             
> +"T6kr6nvob7ZfgQ9R1STuIPjF+0GartfHZ5x+7tdcZ7cCQQDJbUV6Y41zzQ/Pg/cl"
>             
> +"VIbZ8Lx9GdtYBaDFeIhGHXDq7Q0I17ztMILJfvx5kKQWGix8ktb0COGX7LxKIwFu"
>             
> +"GxcVAkEAhoDWf9humhnfCV/aYFF2geDCNZcMRCCyIzC689R1APsji8EWM5paIXgj"
>             
> +"moclM556FwDvm7552xhsiHYz1iI8iQJANcCMRvHkIJ/7dSRBQtwAtI4yrqvExgOS"
>             
> +"eMAGlbdrl7W0wcRYrW9Bp6XUmFhKAX/wmTnSVQM9uH47bQlUa16dVQJBAKnnjcgW"
>             
> +"AmoCYM+YYmi6+fytPYn9W61RNdl1f9rtccDBhsWomgS6O204qJoLX+U/aCkjpPxK"
>             +"IyilkfsZBNupdzA=";
>
>
>             resp.setContentType("text/html");
>
>  resp.getWriter().println("<html><head> <meta 
> name=\"google-site-verification\" 
> content=\"OBFeK6hFEbTkNdcYc-SQNH9tCTpcht-HkUdj6IgCaLg\" </head>");
>
>             resp.getWriter().println("<body>Hello, world");
>
>       TreeMap<String,String> tree=new TreeMap<String,String>();
>       tree.put("oauth_version","1.0");
>       tree.put("oauth_nonce", System.currentTimeMillis()+"");
>       tree.put("oauth_timestamp",System.currentTimeMillis()/1000+"");
>       tree.put("oauth_consumer_key", "imehandirattaritesh.appspot.com");
>       tree.put("oauth_signature_method", "RSA-SHA1");
>       tree.put("oauth_signature", myrsakey);
>       tree.put("oauth_callback", 
> "https://imehandirattaritesh.appspot.com/authsub";);
>       tree.put("scope", "http://www.google.com/calendar/feeds";);
>       Set set = tree.entrySet();
>
>       Iterator<Map.Entry<String, String>> i = set.iterator();
>       String datastring="";
>       Map.Entry me=(Map.Entry)i.next();
>      datastring=me.getKey()+"=";
>      datastring+=me.getValue();
>
>      while(i.hasNext()) {
>           me = (Map.Entry)i.next();
>           datastring+="&"+me.getKey()+"=";
>           datastring+=(me.getValue());
>           }
>
>
>     URL url=new 
> URL("https://www.google.com/accounts/OAuthGetRequestToken?"+datastring);
>                     resp.getWriter().println(""+datastring);
>             HttpURLConnection urlConnection = (HttpURLConnection) 
> url.openConnection();
>
>             urlConnection.setRequestProperty("Content-Type", 
> "application/x-www-form-urlencoded");
>
>             urlConnection.setRequestProperty("Authorization", "OAuth");
>
>             urlConnection.setRequestMethod("POST");
>
>             urlConnection.setDoOutput(true);
>
>             BufferedReader in = new BufferedReader(new 
> InputStreamReader(urlConnection.getInputStream()));
>
>               resp.getWriter().println( urlConnection.getResponseCode());
>
>                String xx="";
>
>                String xx1="";
>
>                while((xx1=in.readLine()) != null)
>
>                {
>                    xx+=xx1;
>
>
>                }
>                resp.getWriter().println(xx);
>                resp.getWriter().println("</body></html>");
>
>
>
>
>         }
>
>
>
> }
>
> i am hosting my app on domain imehandirattaritesh.appspot.com and i think 
> probably i am putting all my parameters correct.may be in tutorial link 
> signature is a very small string but in my case it is a very big string i am 
> putting the content of my .pk8 file which is generated from certificate .pem 
> file .i am expecting my input as like this
>
>
> oauth_token=ab3cd9j4ks73hf7g&oauth_token_secret=ZXhhbXBsZS5jb20&oauth_callback_confirmed=true
>
>
> but in place of this i am getting response of sending post request as
>
> signature_invalidbase_string:POST&https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthGetRequestToken&oauth_callback%3Dhttps%253A%252F%252Fimehandirattaritesh.appspot.com%252Fauthsub%26oauth_consumer_key%3Dimehandirattaritesh.appspot.com%26oauth_nonce%3D1357733037248%26oauth_signature_method%3DRSA-SHA1%26oauth_timestamp%3D1357733037%26oauth_version%3D1.0%26scope%3Dhttp%253A%252F%252Fwww.google.com%252Fcalendar%252Ffeeds
>
> my oauth_callback is https://imehandirattaritesh.appspot.com/authsub
>
> i am trying to remove this error like hell but failed every time can any
> one please help how to remove this error or resource or link from which i
> will get any help.please dont suggest me using java client for OAuth1.0 .i
> have to use google prediction api and call then from my application and in
> java client library there is no functionality related to calling google
> prediction api.please help me how to remove this error and get right output
>
>  --
> You received this message because you are subscribed to the Google Groups
> "OAuth" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/oauth/-/4YPhMWMfXEgJ.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/oauth?hl=en.
>

-- 


Reply via email to