Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8982743
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T20:39:23+00:00 2026-06-15T20:39:23+00:00

This question is in in follow up to my previous question Google oauth java

  • 0

This question is in in follow up to my previous question

Google oauth java client to get an access token fails with "400 Bad Request { "error" : "invalid_request" }"

I dived into JAVA APIs to solve the problem of exchanging code for an authToken in google’s oAuth API but couldn’t figure out an answer. Thus I went ahead with a very simplistic route.

I created following JSPs

index.jsp

<%@page import="java.net.URLEncoder"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <a href="https://accounts.google.com/o/oauth2/auth?
scope=https://gdata.youtube.com/&
redirect_uri=<%=URLEncoder.encode("http://localhost:8080/BroadCastr/step2.jsp","UTF-8")%>&
response_type=code&
client_id=X985XXXXXXXX.apps.googleusercontent.com&approval_prompt=force">Connect google account</a>
    </body>
</html>

This page presented me with a simple link “Connect google account” which brought me successfully to googles page where I had to “Allow” my app to access youtube on my behalf

In step2.jsp

<%@page import="java.net.URLEncoder"%>
<%@page import="java.util.Iterator"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>

        <form id="frm" method="post" action="https://accounts.google.com/o/oauth2/token" enctype="application/x-www-form-urlencoded">
            <input type="hidden" name="code" value="<%=URLEncoder.encode(request.getParameter("code"),"UTF-8")%>"/>
            <input type="hidden" name="client_id" value="XXXXXXXXXXX.apps.googleusercontent.com"/>
            <input type="hidden" name="client_secret" value="XXXXxxxxXXXXXX"/>
            <input type="hidden" name="redirect_uri" value="<%=URLEncoder.encode("http://localhost:8080/BroadCastr/step3.jsp","UTF-8")%>"/>
            <input type="hidden" name="grant_type" value="authorization_code"/>
            <input type="hidden" name="scope" value=""/>
        </form>
    </body>
</html>
<script>
    document.getElementById("frm").submit();
</script>

But finally step2.jsp submits itself to google’s server all I get is following unhelpful JSON

{
"error": "invalid_request"
}

I will really appreciate any help on this one.
Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T20:39:24+00:00Added an answer on June 15, 2026 at 8:39 pm

    While making a POST to the access token end-point, the required parameters should NOT be url-encoded (atleast to the google APIs).

    Here, the redirect_uri parameter is encoded and hence, it is not the same as the one used at the time of the client registration resulting in invalid_request.

    Based on the above JSP code, if the redirect_uri parameter is fixed, the token server response might result in invalid_grant, as the code is also being encoded. Usually, google issues an authorization code, which is not url friendly.

    Removing the encoding for code and redirect_uri parameter above should result in a server response containing an access token.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

This question is a follow up to my previous Java GC question: Java Garbage
This question is a follow up with a previous question Previous Question The previous
This is a follow up question to a previous question I asked about calculating
This is a follow on from my previous question although this is about something
This is a follow-up question related to my previous post . Below is a
This is really a follow on question to a previous one , where I
This post if a follow-up question to mt previous post: Android RESTful Web application
This is a follow up from my previous question I have this code basically
This is a follow-up to my previous question . Suppose I am writing the
This is a follow-up to my previous question I would like to find a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.