Доступ к собственному календарю (не для пользователя) по действиям в Google, для помощника Google - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь создать действие, которое считывает информацию из моего собственного календаря для любого пользователя, который запрашивает ее через Google Assistant.

Обратите внимание, что я не хочу, чтобы каждый пользователь имел доступ к своим соответствующимдетали календаря.Но я хочу, чтобы они могли получить доступ к моим данным календаря через действие.

Я попробовал это на основе того, что нашел здесь

Это то, что я пытался,но это никогда не работало.Кто-нибудь из вас имеет представление, почему?

... //other declarations and stuff

let Assistant = require('actions-on-google').ApiAiAssistant;

... //rest of the code


//Specific action corresponding to the read Calendar intent.

function readCalendarAction (assistant) {


function finalResponse(response){

assistant.ask(response); //final response from fullfillment

}

let google = require('googleapis');
let privatekey = require("./mynewpk.json");

// configure a JWT auth client
let jwtClient = new google.auth.JWT(
       privatekey.client_email,
       null,
       privatekey.private_key,
       ['https://www.googleapis.com/auth/calendar']);
//authenticate request
jwtClient.authorize(function (err, tokens) {
 if (err) {
   //console.log(err);
   var response = 'This one is an error';
   finalResponse(response);

   return;
 } else {
   //console.log("Successfully connected!");
   //var response = 'this is the newer answer';
   //finalResponse(response);
 }
});

//Google Calendar API
let calendar = google.calendar('v3');
calendar.events.list({
   auth: jwtClient,
   calendarId: 'primary'
}, function (err, response) {
   if (err) {
       console.log('The API returned an error: ' + err);
       return;
   }
   var events = response.items;
   var response = events[0].summary;
   finalResponse(response);

});
...