Читать гугл календарь событий - PullRequest
0 голосов
/ 22 февраля 2019

Я хочу читать события общедоступного календаря Google без аутентификации Oauth.Но я не могу получить ответ:

const express = require("express");
const bodyParser = require("body-parser");
const request = require("request");
const app = express();

app.use(express.static("public"));
app.use(bodyParser.urlencoded({
  extended: true
}));


app.get("/", function(req, res) {
  res.sendFile(__dirname + "/index.html");
});




app.post("/", function(req,res){
  request("https://www.googleapis.com/calendar/v3/calendars/XXXXXXXXXXXX.calendar.google.com/events",function(response){

        var calendarSummary = response.summary;
        var calendarDescription =response.description;

        console.log("Response is:");
        console.log("Result is: "+calendarSummary+calendarDescription);
  });
});

app.listen(3000, function() {
  console.log("server is running on port 3000");
});

Есть предложения?Нужно ли включать API-ключ для публичного календаря?

1 Ответ

0 голосов
/ 23 февраля 2019

Я думаю, проблема в том, что вы используете библиотеку / функцию request.Для документов Подпись для этой функции request(error, response, body), но вы можете указать только один аргумент.Несмотря на то, что он называется response, на самом деле это error объект, который, вероятно, null.Итак, замените его на следующее, и я уверен, что оно будет работать:

request("https://www.googleapis.com/calendar/v3/calendars/XXXXXXXXXXXX.calendar.google.com/events", function(error, response, body) {
  var calendarSummary = body.summary;
  var calendarDescription = body.description;
  console.log("Response is:");
  console.log("Result is: " + calendarSummary + calendarDescription);
});

Я думаю, что ваш вызов API в Google хорош как есть, потому что документация говорит, что авторизация не требуется.

...