2017-11-07 1 views
0

Ich war auf der Suche nach einer Möglichkeit, Cloud-iot-Core-Geräte mit Google Cloud-Funktionen zu verwalten. Nach Tagen der Tests kann ich nicht herausfinden, wie ich ein Gerät zu einer Registrierung hinzufügen kann.Google Apis-Knoten-Bibliothek - Cloudiot fehlt

Ich habe versucht, googleapis Modul auf meinem PC mit npm zu installieren, aber ich kann nicht cloudiot Kern im apis Verzeichnis finden, während es auf Github (die Version des installierten Pakets ist 22.2.0 aber auf Github ist 22,3. 0).

Irgendwelche Ideen? Wie kann ich die neueste Version installieren?

Antwort

0

aktualisieren

Es scheint, dass zur Zeit, wenn Sie mit IoT nicht explizit die API von der Entdeckung Dokument laden, wird die NodeJS Client-Bibliothek Fragen.

jetzt um dieses Problem zu umgehen, führen Sie die folgende API-Client zu initialisieren:

const serviceAccountJson = `/home/class/iot_creds.json`; 
const API_VERSION = 'v1'; 
const DISCOVERY_API = 'https://cloudiot.googleapis.com/$discovery/rest'; 
function getClient (serviceAccountJson, cb) { 
    const serviceAccount = JSON.parse(fs.readFileSync(serviceAccountJson)); 
    const jwtAccess = new google.auth.JWT(); 
    jwtAccess.fromJSON(serviceAccount); 
    // Note that if you require additional scopes, they should be specified as a 
    // string, separated by spaces. 
    jwtAccess.scopes = 'https://www.googleapis.com/auth/cloud-platform'; 
    // Set the default authentication to the above JWT access. 
    google.options({ auth: jwtAccess }); 
    const discoveryUrl = `${DISCOVERY_API}?version=${API_VERSION}`; 
    google.discoverAPI(discoveryUrl, {}, (err, client) => { 
    if (err) { 
     console.log('Error during API discovery', err); 
     return undefined; 
    } 
    cb(client); 
    }); 
} 

Original-

Die NodeJS management sample derzeit verwendet die Google API-Client (zB "googleapis": "20.1.0" in package.json) Bibliothek und keine separate Bibliothek.

Wenn Sie nicht bereits haben, versuchen Sie die Probe lokal ausgeführt wird, wie in der Probe readme beschrieben:

git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples 
cd nodejs-docs-samples/iot/manager 
npm install 
node manager.js 

Wenn die Probe nicht lokal funktioniert, lassen Sie es uns die Knoten Version kennen (node --version) und installierte Modulversionen (Ausgabe package.lock oder npm ls).

Wenn das Beispiel lokal für Sie funktioniert (nach dem Ausführen von npm install), ist das Problem, wie das Beispiel aus dem Cloud-Funktionen-Back-End ausgeführt wird.