-1

I am trying to send a request to oauth google to get a request token.i passed all the parameters required.here is the code.please help. The out put of the below code is a token provided by google to access its users private data.but i am getting the result that the page i requested is invalid.where did i go wrong? should i pass the scope also in the url?

public void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws IOException {
    try {  
          String oauthConsumerKey = "my key";
          String oauthSignatureMethod = "HMAC-SHA1";
          String oauthSignature = "my signature";
        // Send the request  
        URL url = new URL("https://www.google.com/accounts/OAuthGetRequestToken"+oauthConsumerKey+
        oauthSignatureMethod+oauthSignature);  
        URLConnection conn = url.openConnection();  
        conn.setDoOutput(true);  
        OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());  

        //write parameters   

        writer.flush();  

        // Get the response  
        StringBuffer answer = new StringBuffer();  
        BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));  
        String line;  
        while ((line = reader.readLine()) != null) {  
           System.out.println("\n" +line);

        }  

        writer.close();  
        reader.close();  
        //Output the response  


    } catch (MalformedURLException ex) {  
        ex.printStackTrace();  
    } catch (IOException ex) {  
        ex.printStackTrace();  
    }  
}

}

4

1 に答える 1

0

呼び出しのドキュメントでOAuthGetRequestToken指定されているように、いくつかの必須パラメーターが欠落しています。

oauth_consumer_key     (required)
oauth_nonce            (required)
oauth_signature_method (required)
oauth_signature        (required)
oauth_timestamp        (required)
scope                  (required)
oauth_callback         (required)

クエリURLも次のような形式である必要があります。

https://www.google.com/accounts/OAuthGetRequestToken?param1=value1&param2=value2&...

Google OAuth 1.0 APIはすでに非推奨になっているため、新しいプロジェクトには使用しないでください。

重要:OAuth 1.0は、2012年4月20日をもって正式に非推奨になりました。非推奨ポリシーに従って引き続き機能しますが、できるだけ早くOAuth2.0に移行することをお勧めします。

さらに、OAuth2フローははるかに単純です。Googleのドキュメントを確認してください。

于 2012-07-13T08:39:09.687 に答える