Как получить события из общедоступного календаря, используя Google Calendar API для углового проекта? - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь заполнить календарь праздничными днями из Календаря Google.Я настроил проект с помощью Google Developer Console, сгенерировал ключ API и идентификатор клиента.У меня также есть идентификатор календаря, из которого мне нужно получить события под рукой.

В настоящее время я получаю сообщение об ошибке - Невозможно разрешить gapi.auth2 .Правильный ли это путь?

Помимо gapi, я пытался использовать ng-gapi, но мне трудно оборачиваться вокруг него.Могу ли я использовать его для получения всех событий календаря?Как вы, вероятно, можете сказать, я супер новичок в этой структуре и в растерянности.Любая помощь приветствуется.

gcal.service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import "gapi.auth2"

@Injectable({
  providedIn: 'root'
})
export class GcalService {
  apiKey: string = 'key';
  clientId: string = 'clientid.apps.googleusercontent.com';
  scope: string = 'https://www.googleapis.com/auth/calendar.events';
  calendarId: string = 'en.malaysia#holiday@group.v.calendar.google.com';
  path: string = 'https://www.googleapis.com/calendar/v3/calendars/' + this.calendarId + '/events';
  events: any;
  error: any;
  getEvents() {
     gapi.client.init({
      'apiKey': this.apiKey,
      'clientId': this.clientId,
      'scope': this.scope
    }).then(function() {
      return gapi.client.request({
        'path': this.path
      })
    }).then(function(response) {
      console.log(response.result);
    }, function(reason) {
      console.log('Error: ' + reason.result.error.message);
    });
  }
  constructor(private http: HttpClient) { }
}

tsconfig.app.json

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": ["gapi.auth2"]
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}
...