我正在尝试向Google日历api发出POST请求,但我不明白如何进行身份验证。
我采取了以下步骤来尝试并使用服务帐户:
我尝试创建一个对https://www.googleapis.com/calendar/v3/calendars/ calendarId / events的POST请求,并使用JSON密钥的内容作为 Authorization 标头,但出现以下错误:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
我是否缺少某些步骤,或者我不正确理解身份验证过程? 非常感谢您的帮助。
答案 0 :(得分:2)
不仅仅是将密钥文件的内容应用于您的调用,所有Google api都需要访问令牌才能对其进行身份验证。
要从服务帐户获取访问令牌,您需要执行以下步骤。 Preparing to make an authorized API call
您需要完成一些步骤才能获得调用api所需的访问令牌
从API控制台获取客户端ID和私钥后,您的应用程序需要完成以下步骤:
- 创建一个JSON Web令牌(JWT,发音为“ jot”),其中包括标头,声明集和签名。
- 从Google OAuth 2.0授权服务器请求访问令牌。
- 处理授权服务器返回的JSON响应。
我建议您选择自己喜欢的服务器端编程语言并为其找到客户端库。这样一来,您便可以尝试轻松地使用服务帐户进行身份验证了。