2016-08-05 121 views
2

我想通过以下网址错误:公共客户端不能发送客户端密钥,而试图获得访问令牌Onedrive

https://login.live.com/oauth20_token.srf?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&redirect_uri=https://login.live.com/oauth20_desktop.srf&code=AUTHORIZATION_CODE&grant_type=authorization_code

得到OneDrive访问令牌,但响应如下

{“error”:“invalid_request”,“error_description”:“公共客户端无法发送客户端密钥。”}

任何人都可以解释这一点。

+0

你创建一个Web应用程序,移动/桌面应用程序,或者只是与实验API? –

回答

5

“公共客户端”是一个移动或桌面应用程序(Web服务是“机密客户端”)。 MSA正在给你这个回应,因为你正在重定向到https://login.live.com/oauth20_desktop.srf。在这种情况下,你不应该在请求提供client_secret值,所以你的要求应该仅仅是这样的:

https://login.live.com/oauth20_token.srf?client_id=YOUR_CLIENT_ID&redirect_uri=https://login.live.com/oauth20_desktop.srf&code=AUTHORIZATION_CODE&grant_type=authorization_code

相关问题