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. > --
