如何使用javascript和服务帐户制作Google Calendar API请求?

时间:2018-01-27 15:31:03

标签: javascript api calendar google-calendar-api service-accounts

我在我的网络应用程序中使用javascript关注了Google Calendar API的this快速入门教程。由于我需要在没有用户登录的情况下在网页上显示日历数据,我需要使用服务帐户实现API调用。不幸的是,我无法在javascript中找到任何好的教程或解释,因为我对API编程的主题相当新,我需要一些指导。

提前Ty。

1 个答案:

答案 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