Ich bin derzeit Refactoring einen Web-App von Angular 1 bis Angular 2, aber ich habe Schwierigkeiten keine Beispiele der Verbindung mit Google Cloud Endpoints von einer Angular 2 App zu finden.Verbindung zu Google Cloud Endpoints aus einem Winkel 2 App
verwendete ich die angular-cli die Angular 2-Anwendung zu erstellen. Ich möchte die Endpunkte api von verschiedenen Diensten verwenden, daher wäre es besser, wenn eine vorgeschlagene Antwort dies berücksichtigt.
In Angular 1 habe ich die folgende
In meiner index.html:
<script>
function init() {
console.log("Initializing Cloud Endpoints..");
window.init();
};
</script>
<script src="https://apis.google.com/js/client.js?onload=init"></script>
und in meinem main.js:
function Main($scope, $window){
var vm = this;
$window.init= function() {
$scope.$apply(vm.loadApi);
};
vm.loadApi = function(){
gapi.client.load('deviceStockApi', 'v1', function(){
console.log("Cloud Endpoints are now available");
}, 'https://name-of-my-endpoints-app.appspot.com/_ah/api');
}
}
In Angular 2 Ich habe versucht
Edit1: Ich sollte beachten, dass ich nur versuche, die API für Starter zu laden. Aus diesem Grund habe ich im folgenden Beispiel den gesamten Code in die Datei index.html gelegt. Optimalerweise würde ich jedoch eine Lösung mit Best Practice bevorzugen, um die Cloud-Endpunkte von einer Angular 2-App zu initiieren und zu verwenden.
In meinem index.html:
<script src="https://apis.google.com/js/client.js?onload=init"></script>
<script>
function init() {
console.log("Init called");
gapi.client.load('deviceStockApi', 'v1', function(){
console.log("Cloud Endpoints are now available");
}, 'https://name-of-my-endpoints-app.appspot.com/_ah/api');
}
</script>
Wenn ich die Webapp ausführen, wird die init-Funktion nicht aufgerufen (keine Konsolenausgabe). Es scheint jedoch, dass das Skript geladen ist.
Irgendwelche Vorschläge, wie dies zu beheben ist gefragt! Wenn jemand Dokumente von Google oder anderen Personen gefunden hat, teilen Sie diese bitte mit!