redirect_uri_mismatch 请求中的重定向 URI 与 OAuth 客户端授权的不匹配

Ani*_*tak 4 google-api youtube-api google-oauth youtube-data-api

我有以下客户机密

{
  "web": {
    "client_id": "testid",
    "project_id": "testproj",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://www.googleapis.com/oauth2/v3/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_secret": "test-sec",
    "redirect_uris": [
      "https://localhost:8080/oauth2callback"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我得到

“错误:redirect_uri_mismatch 请求中的重定向 URI http://127.0.0.1:8414/authorize/与为 OAuth 客户端授权的不匹配。

要更新授权的重定向 URI,请访问:"。您能否提出建议,如何修复它。

我正在使用 C#。我已经用这个创建了凭据 -

GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, scopes,
                                             "user",
                                              CancellationToken.None, 
                                              new FileDataStore(Directory.GetCurrentDirectory() + "\\AccessToken\\" , 
                                             true)).Result; 
Run Code Online (Sandbox Code Playgroud)

但是第一次,它弹出登录,一旦我登录,它就创建了 Google.Apis.Auth.OAuth2.Responses.TokenResponse-user文件夹中了文件。有没有办法绕过第一次登录?

谢谢。

gle*_*oux 5

https://console.developers.google.com中创建凭据时:

证书

cliking后Create credentials通过选择OAuth client ID

创建凭据

选择其他作为应用程序类型:

创建 OAuth 客户端 ID.

您应该拥有以下格式的凭据:

{
  "installed": {
    "client_id": "...",
    "project_id": "...",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_secret": "...",
    "redirect_uris": [
      "urn:ietf:wg:oauth:2.0:oob",
      "http://localhost"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

现在您的 OAuth2 链接应该可以在 redirection_uri 参数中的任何端口工作http://localhost:8414,例如(8414 作为随机端口)。而你不再是这个错误:

错误:redirect_uri_mismatch 请求中的重定向 URI http://localhost:8414/authorize/与为 OAuth 客户端授权的不匹配。


cla*_*oda 5

添加为授权重定向 URL 时,我只是忽略了错误消息中的端口。

 http://127.0.0.1/authorize/
Run Code Online (Sandbox Code Playgroud)