在公共日历中插入事件时,Google日历API会返回错误401“需要登录”

时间:2016-07-03 06:21:40

标签: javascript ajax api google-calendar-api

我想使用以下代码在我的一个公共日历中插入一个事件

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'需要登录'

我做错了什么,如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

错误401 'login required'表示您使用的访问令牌已过期或无效。如此forum中所述,您需要使用客户端ID和客户端密钥获取刷新令牌,以进行经过身份验证和授权的API调用。在生成刷新令牌时,请确保使用正确的电子邮件登录。在这种情况下,它将是您自己的用户电子邮件地址,而不是服务帐户的电子邮件地址。服务帐户电子邮件地址用于服务器到服务器应用程序。

检查以下链接:

希望这有帮助!