我想使用Google Calendar API。为此,我需要一个授权令牌,我想使用简单的http请求获取。所以,我一直在关注这个:https://developers.google.com/accounts/docs/OAuth2InstalledApp#formingtheurl
我尝试以下请求:
POST https://accounts.google.com/o/oauth2/auth
grant_type: authorization_code
scope: https://www.googleapis.com/auth/calendar
response_type: code
redirect_uri: http://localhost:1337
client_id: id
但是,从这个请求我得到了答复:
Error:invalid_request
Required parameter is missing: response_type
我还尝试了无数其他参数,网址,请求方法和发送请求的不同应用程序,但是,我总是得到相同的结果。此外,我还试图在谷歌控制台中重新创建新项目和新客户ID,但这似乎也没有帮助。
我可能只是做了一些根本性的错误,idk,文档似乎有点不清楚。
答案 0 :(得分:0)
好的,你的要求没有任何意义。这是用户(客户端)请求的混合,用于获取授权代码以及向您(服务器)提供来自Google(提供商)的访问令牌的请求。
我试着解释一下你要做什么:
GET:
https://accounts.google.com/o/oauth2/auth?scope={YOUR_SCOPES_URL_ESCAPED}&redirect_uri={YOUR_REDIRECT_URI_URL_ESCAPED}&response_type=code&client_id={YOUR_CLIENT_ID}
请求:
POST /o/oauth2/token HTTP/1.1
Host: accounts.google.com
Content-Type: application/x-www-form-urlencoded
code={YOUR_RETURNED_CODE_FROM_FIRST_REQUEST}&
client_id={YOUR_CLIENT_ID}&
client_secret={YOUR_CLIENT_SECRET}&
redirect_uri=https://oauth2-login-demo.appspot.com/code&
grant_type=authorization_code
JSON:
{
"access_token":"1/fFAGRNJru1FTz70BzhT3Zg",
"expires_in":3920,
"token_type":"Bearer",
"refresh_token":"1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI"
}
一个好地方,看看,你能做什么,看看Google OAuth 2.0 Playground。