Любые указания по использованию AngularFire2 с GAPI для доступа к отчетам Google Analytics

Угловой: Угловой2 RC4

Firebase: Firebase3 (последняя версия)

AngularFire: AngularFire2 (последняя версия)

Я пытаюсь получить доступ к Google Analytics Reporting v4 API. Что-то вроде этого. Но с помощью Angular2 совершенства.

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

У меня есть аутентификация, работающая с AngularFire2 и Firebase, это первый шаг. ;)


person Jason Shultz    schedule 02.08.2016    source источник


Ответы (1)


ОБНОВЛЕНИЕ 2018

Кто-то добавил DefinitelyTyped/types/gapi.client.analytics для клиентского API Google Analytics версии 3. По этой ссылке есть README с инструкциями по его установке и использованию.

ОРИГИНАЛЬНЫЙ ОТВЕТ

Еще в 2016 году это был мой способ реализации:

источник/index.html

В файле index.html вашего приложения вам нужно добавить это в раздел <head>:

<script src="https://apis.google.com/js/platform.js" async defer></script>

типизация/браузер/окружающая среда/gapi/

Вам нужно добавить следующие пространства имен к вашим типам:

src/app/+логин/login.component.ts

Это файл моего компонента, здесь вам нужно использовать ngAfterViewInit(), чтобы использовать gapi и получить авторизацию.

В качестве примера, это моя функция авторизации, в которой я также преобразовываю обратный вызов API в обещание:

private authorize() : Promise<any> {
    var authCallback;
    let authData = {
        client_id: 'your-client-id.apps.googleusercontent.com',
        scope: ['https://www.googleapis.com/auth/analytics.readonly'],
        immediate: true
    };

    let p = new Promise((resolve,reject) => {
      authCallback = response => response.error? reject(response) : resolve(response);
    });

    gapi.auth.authorize(authData, authCallback);

    return p;
}
person Gatsbimantico    schedule 29.09.2016
comment
Это сработало для вас? это не кажется правильным при использовании машинописного текста - person Ross Rawlins; 03.10.2018
comment
@RossRawlins у меня это сработало еще в 2016 году. Это просто метод авторизации внутри моего компонента, он был вызван ngAfterViewInit. Я обновлю ответ, так как мой PR уже объединен. Это мой ввод: github.com/DefinitelyTyped/DefinitelyTyped/tree/master /types/ Есть и другая типизация: github.com /DefinitelyTyped/DefinitelyTyped/tree/master/types/ Он включает README, в котором рассказывается, как его использовать. Я надеюсь, что это полезно. - person Gatsbimantico; 19.10.2018