我在我的网络应用程序中使用javascript关注了Google Calendar API的this快速入门教程。由于我需要在没有用户登录的情况下在网页上显示日历数据,我需要使用服务帐户实现API调用。不幸的是,我无法在javascript中找到任何好的教程或解释,因为我对API编程的主题相当新,我需要一些指导。
提前Ty。答案 0 :(得分:1)
在客户端使用服务帐户并不安全。您可能希望切换到服务器端实现。假设您熟悉javascript我建议遵循here中的NodeJS实现。
要在步骤1->之后创建服务帐户选择服务帐户。 Refer this image for option.
要使用服务帐户,请用此
替换authorize()
逻辑
var email = credentials.client_email;
var key = credentials.private_key;
const jwt = new google.auth.JWT(
email, null, key, SCOPES
);
jwt.authorize((err, data) => {
if (err) {
console.error(err);
throw err;
}
console.log('You have been successfully authenticated: ', data);
callback(jwt);
});
在使用服务帐户时,您还需要在Gmail帐户中创建日历才能使用。然后转到设置并选择添加人员以与您的json中的 client_email 共享,然后在API调用中使用您的日历ID(来自日历设置)替换primary