Uncaught (в обещании): TypeError: Невозможно прочитать свойство 'people' из неопределенного - PullRequest
0 голосов
/ 15 декабря 2018

Я застрял.Я пытаюсь создать службу авторизации API Google People в Angular.

В консоли Chrome появляется ошибка:

Uncaught (in promise): TypeError: Cannot read property 'people' of undefined

Может кто-нибудь помочь мне понять, почему?

declare var gapi: any;

@Injectable({
  providedIn: 'root'
})
export class AuthService {

  user$: Observable<firebase.User>;
  peopleItems: any[];

  constructor(public afAuth: AngularFireAuth) {
    this.initClient();
    this.user$ = afAuth.authState;
  }

  initClient() {
    gapi.load('client', () => {

      gapi.client.init({
        apiKey: 'myapikey',
        clientId: '',
        discoveryDocs: ["https://www.googleapis.com/discovery/v1/apis/people/v1/rest"],
        scope: 'https://www.googleapis.com/auth/contacts'
      })
    });
  }

  async getPeople() {
    const mypeople = await gapi.client.people.people.connections.list({
      resourceName: 'people/me',
      personFields: 'names,emailAddresses',
    })
    this.peopleItems = mypeople.people.people.list;
  }
}

1 Ответ

0 голосов
/ 17 декабря 2018

Я взял "mypeople.people.people.list" из документов Google для быстрого старта.Тем не менее, быстрый старт был для JavaScript, и я использую Angular.@ Берги указал мне правильное направление своим комментарием.Я использовал консольную вкладку chrome Developer Tools (F12) , чтобы найти строку кода на вкладке sources и добавил точку останова.Тогда я не только мог ясно видеть, что человек не определено.Он также показал мне правильный путь для получения данных от объекта.

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

...