2017-12-28 10 views
1

Ich versuche, eine einfache Google-Authentifizierung für meine Angular 2-App zu implementieren. Gibt es eine Möglichkeit, googles https://apis.google.com/js/api.js Skript innerhalb von gapi in einem service.ts zu implementieren?Verwenden von googles api.js in angular service.ts

Ich bekomme einen Kompilierungsfehler, wenn ich versuche, es zu bedienen. Aber wenn ich einige willkürliche Leerzeichen eintippe, die Knoten veranlassen, sich zu erneuern, dient es eine Arbeitsstätte.

Ich sehe, dass var gapi existiert innerhalb der api.js Skript, aber gibt es eine Möglichkeit, diese Variable in ts zu extrahieren.

import {Injectable} from '@angular/core'; 
import * as jQuery from 'jquery'; 


@Injectable() 
export class AuthService { 
    testFunction() { 
    jQuery.getScript("https://apis.google.com/js/api.js", handleClientLoad); 
    var CLIENT_ID = 'SECRET'; 
    var DISCOVERY_DOCS = ["https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest"]; 

    var SCOPES = 'https://www.googleapis.com/auth/youtube.readonly'; 
    var authorizeButton = document.getElementById('authorize-button'); 
    var signoutButton = document.getElementById('signout-button'); 
    var signedInMenu = document.getElementById('signed-in-menu'); 
    /** 
    * On load, called to load the auth2 library and API client library. 
    */ 
    function handleClientLoad() { 
     gapi.load('client:auth2', initClient); 
    } 

}...more code that also calls gapi... 

Antwort

1

erklären die gapi Variable auf der Spitze der Klasse

declare var gapi:any; 
Verwandte Themen