Google OAUTH: The redirect URI in the request did not match a registered redirect URI

前端 未结 5 857
眼角桃花
眼角桃花 2020-12-04 19:10

I am trying to make an upload to YouTube from my Java based web app, I spent a few days to understand what and where is the problem and I cannot get it, for now I am pulling

相关标签:
5条回答
  • 2020-12-04 19:27

    I was able to get mine working using the following Client Credentials:

    Authorized JavaScript origins

    http://localhost

    Authorized redirect URIs

    http://localhost:8090/oauth2callback

    Note: I used port 8090 instead of 8080, but that doesn't matter as long as your python script uses the same port as your client_secret.json file.

    Reference: Python Quickstart

    0 讨论(0)
  • 2020-12-04 19:34

    I think I encountered the same problem as you. I addressed this problem with the following steps:

    1) Go to Google Developers Console

    2) Set JavaScript origins:

    • http://localhost

    3) Set Redirect URIs:

    • http://localhost:8080

    • http://localhost:8080/Callback

    0 讨论(0)
  • 2020-12-04 19:38

    You need to go into the developer console and set

    http://localhost:8080/WEBAPP/youtube-callback.html
    

    as your callback URL.

    This video is slightly outdated, as it shows the older Developer Console instead of the new one, however, the concepts should still apply. You need to find your project in the developer console and register a callback URL.

    0 讨论(0)
  • 2020-12-04 19:45

    When your browser redirects the user to Google's oAuth page, are you passing as a parameter the redirect URI you want Google's server to return to with the token response? Setting a redirect URI in the console is not a way of telling Google where to go when a login attempt comes in, but rather it's a way of telling Google what the allowed redirect URIs are (so if someone else writes a web app with your client ID but a different redirect URI it will be disallowed); your web app should, when someone clicks the "login" button, send the browser to:

    https://accounts.google.com/o/oauth2/auth?client_id=XXXXX&redirect_uri=http://localhost:8080/WEBAPP/youtube-callback.html&response_type=code&scope=https://www.googleapis.com/auth/youtube.upload
    

    (the callback URI passed as a parameter must be url-encoded, btw).

    When Google's server gets authorization from the user, then, it'll redirect the browser to whatever you sent in as the redirect_uri. It'll include in that request the token as a parameter, so your callback page can then validate the token, get an access token, and move on to the other parts of your app.

    If you visit:

    http://code.google.com/p/google-api-java-client/wiki/OAuth2#Authorization_Code_Flow

    You can see better samples of the java client there, demonstrating that you have to override the getRedirectUri method to specify your callback path so the default isn't used.

    The redirect URIs are in the client_secrets.json file for multiple reasons ... one big one is so that the oAuth flow can verify that the redirect your app specifies matches what your app allows.

    If you visit https://developers.google.com/api-client-library/java/apis/youtube/v3 You can generate a sample application for yourself that's based directly off your app in the console, in which (again) the getRedirectUri method is overwritten to use your specific callbacks.

    0 讨论(0)
  • 2020-12-04 19:48

    I thought I had this configured but it turns out I set the URL in the wrong place. I followed the URL provided in the Google error page and added my URL here. Stupid mistake from my part, but easily done. Hope this helps

    0 讨论(0)
提交回复
热议问题