- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试刷新访问 token 时出现错误:
400 Bad Request
{error : "unauthorized_client"}
{
"error" : "invalid_request"
}
POST
请求的外观),我看不出有任何区别。
POST
请求(已删除 secret ):
POST /SHOWMERAWPOST HTTP/1.1
User-Agent: Google-HTTP-Java-Client/1.10.3-beta (gzip)
Pragma: no-cache
Host: requestb.in
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 175
Connection: keep-alive
Cache-Control: no-cache
Accept-Encoding: gzip
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
grant_type=refresh_token&refresh_token=******&client_id=*******.apps.googleusercontent.com&client_secret=******
RefreshTokenRequest req = new RefreshTokenRequest(new NetHttpTransport(), new JacksonFactory(), new GenericUrl(
getSecrets().getDetails().getTokenUri()), REFRESH_TOKEN);
req.set("client_id", getSecrets().getDetails().getClientId());
req.set("client_secret", getSecrets().getDetails().getClientSecret());
TokenResponse response = req.execute();
最佳答案
问题说明
在@MartinV 给出的提示下,我终于能够修复它!因为他的回答并没有很好地解释如何解决它,所以我将其发布在这里。
问题是因为我们都使用 Google's OAuth Playground 生成了刷新 token 。 ,但是当您在第一步中单击“授权 API”时,它会将您带到使用 Playground 应用程序的集中屏幕。之后,您创建的所有 token 只能由 Playground 应用程序使用,但您当然不知道该应用程序的客户端 ID 或客户端密码。
解决方案
解决方案是让 Playground 使用您自己的 Client ID 和 Secret。为此,请单击“设置”按钮:
并输入您的客户 ID 和密码。但是,在你这样做之前,正如它所说的那样,你需要去 Developer's Console ,找到您的 OAuth 2.0 客户端 ID 客户端,对其进行编辑并添加 https://developers.google.com/oauthplayground在授权重定向 URI 下。添加并保存更改后,返回 Playground 并尝试授权 API。就我而言,授权重定向 URI 的更改需要 15 分钟才能生效。
完成后,不要忘记从开发者控制台中删除 Playground URI!
额外
一旦我这样做了,在 Python 中我就这样做了,它起作用了:
access_token = None
client_id = 'xxxxxxxx.apps.googleusercontent.com'
client_secret = 'xxxxxxxxxxxx'
refresh_token = 'xxxxxxxxxxxx'
token_expiry = None
token_uri = "https://accounts.google.com/o/oauth2/token"
user_agent = 'YourAgent/1.0'
credentials = client.GoogleCredentials(access_token, client_id, client_secret, refresh_token, token_expiry, token_uri, user_agent)
http = credentials.authorize(httplib2.Http())
credentials.refresh(http)
service = build('drive', 'v3', http=http)
req = service.files().list()
resp = req.execute(http=http)
关于google-api - 无法刷新访问 token : response is "unauthorized_client",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13871982/
我正在使用“Google_Client”类来验证对 adwords api 的访问权限,因此: $REDIRECT_URI = 'http://localhost/GoogleAdwords/auth
我似乎无法理解为什么我会从 IdentityServer 获得 unauthorized_client。我将 oidc-client 与 Angular 4 ui 和 Web API 的 asp.ne
在我的 IS4 的 Startup.cs 中: services.AddAuthentication() .AddMicrosoftAccount(o => {
在我的 IS4 的 Startup.cs 中: services.AddAuthentication() .AddMicrosoftAccount(o => {
我已经配置了 Azure AD B2C 应用程序,但当我运行该应用程序时出现上述主题错误,可能是什么原因。 Error. An error occurred while processing your
我正在撰写有关如何使用 Postman 从 IDS4 获取 token 的演示。 密码 token 请求取自IDS4's page . [HttpGet("token")] public IActio
尝试刷新访问 token 时出现错误: 400 Bad Request {error : "unauthorized_client"} 从 Google token URI: { "error"
我正在尝试在 nodejs 应用程序上使用 Oauth 和 nodemailer 发送邮件,我在没有 Oauth 的情况下做到了,但我的密码是在代码中写的,所以我转向了 Oauth。 我只想连接自己以
我已经设置身份服务器 4 来扩展 Umbraco,因此它使用自定义角色提供程序。 一切正常,但现在当我被重定向到我的身份服务器时,我收到了这个错误: 任何人都可以阐明这个错误吗?我曾尝试在源代码管理中
在我工作的地方,我们使用 Google Apps for Work。在过去的 9 个月中,我们一直在使用 Gmail API(每天约 2,000 个请求)为我们的支持电子邮件帐户提取新电子邮件。 这是
按照此处提供的步骤 https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app 在
这是我的 mvc 与身份服务器连接的初始设置。 app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
我尝试在Python中访问OAuth2(代码与 http://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/
我们正在尝试构建一项服务,以在我们的 gsuite 域中导出 google drive 文件。 我们正在使用 https://github.com/google/google-api-php-clie
我需要注册我的应用程序才能使用 Outlook 日历 API。我在这里创建了应用程序:https://apps.dev.microsoft.com 。我有应用程序 ID 和重定向 URI。然后我使用以
我正在尝试使用代码 ( https://developers.docusign.com/platform/auth/authcode/authcode-get-token ) 使用 DocuSign
我需要注册我的应用程序才能使用 Outlook 日历 API。我在这里创建了应用程序:https://apps.dev.microsoft.com 。我有应用程序 ID 和重定向 URI。然后我使用以
我正在尝试使用代码 ( https://developers.docusign.com/platform/auth/authcode/authcode-get-token ) 使用 DocuSign
我正在尝试将 Google 云端硬盘服务添加到我的 Objective-C 应用中,但收到: Domain=com.google.HTTPStatus Code=400 "The operation
编辑:错误发生在这段代码上: var gmail = google.gmail('v1'); gmail.users.labels.list({ auth: auth
我是一名优秀的程序员,十分优秀!