我想使用以下代码在我的一个公共(public)日历中插入一个事件
var mykey = '273183670752-8419q1upedso5lc0hvtgfnbv32rd67um.apps.googleusercontent.com';
var calendarid = '7a97f6k4ok8v77jc2po6kkgcuo%40group.calendar.google.com';
var meeting = 'Lunchafspraak 2 juli om 13:00';
var urlContent = 'https://www.googleapis.com/calendar/v3/calendars/' + calendarid + '/events/quickAdd?text=' + meeting + '&key=' + mykey;
$.ajax({
type: 'POST',
url: urlContent,
dataType: 'json',
success: function (response) {
alert("Event toegevoegd");
},
error: function (response) {
alert(response.error.errors);
alert("Event niet toegevoegd");
}
});
但它返回错误 401“需要登录”
我做错了什么,如何解决这个问题?
最佳答案
错误401 'login required'意味着您使用的访问 token 已过期或无效。如本 forum 中所述,您需要使用客户端 ID 和客户端 key 获取刷新 token ,以进行经过身份验证和授权的 API 调用。确保在生成刷新 token 时使用正确的电子邮件登录。在这种情况下,它将是您自己的用户电子邮件地址,而不是服务帐户电子邮件地址。服务帐户电子邮件地址用于服务器到服务器应用程序。
检查这些链接:
- Error with Google Calendar API - 401 Login required when adding a calendar event
- Using API Key to authenticate a request generates a 401 error
希望这有帮助!
关于javascript - 在公共(public)日历中插入事件时,Google 日历 API 返回错误 401 'login required',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38167295/