Heim > Web-Frontend > js-Tutorial > Verbindung mit dem Jawbone Up API mit Node.js herstellen

Verbindung mit dem Jawbone Up API mit Node.js herstellen

Christopher Nolan
Freigeben: 2025-02-20 13:16:09
Original
894 Leute haben es durchsucht

Verbindung mit dem Jawbone Up API mit Node.js herstellen

Als Entwickler kann ich nicht anders, als auf die enorme Menge an Stiefzählungs- und Schlafgewohnheitsdaten zugreifen, die mein Kieferknochen auf mich hat. Es gibt so viele Daten! Also begann ich zu untersuchen

Ich habe Beispiele dafür gefunden, wie man mit der API und dem Knoten des Kieferbeins im Internet arbeitet, aber sie waren alle ziemlich involviert und hatten viele bewegliche Teile, zusammen mit einigen veralteten Modulen (wie älteren Versionen von Express). In diesem Artikel möchte ich mich auf die absoluten Grundlagen konzentrieren - keine Sorgen, Benutzerdaten in einer Datenbank zu speichern, Konten zu erstellen oder soziale Anmeldungen zu verbinden. Wir konzentrieren uns auf die Kern von Dingen, die Sie wissen müssen, um einen Knotenserver mit der Jawbone -API zu authentifizieren und Benutzerdaten zurückzugeben.

Der gesamte Code für diese Demo ist in unserem GitHub Repo verfügbar.

Key Takeaways

    Verwenden Sie die API von Jawbone Up, um mit node.js umfangreiche Benutzerdaten wie Schrittzahlen und Schlafgewohnheiten zuzugreifen, ohne die Komplexität der Verwaltung von Benutzerdatenspeichern oder Kontoverwaltung.
  • Beginnen Sie mit der Einrichtung einer Jawbone -App auf der Website von Jawbone Developer, um die erforderlichen Anmeldeinformationen wie Client -ID und App -Geheimnis zu erhalten, die für die API -Integration von entscheidender Bedeutung sind.
  • Implementieren Sie das Passport -Modul mit OAuth 2.0 in Node.js, um die Benutzerauthentifizierung und das Datenabruf sicher zu verarbeiten.
  • Stellen Sie sicher, dass alle Mitteilungen mit dem Kieferbone -API über HTTPS durchgeführt werden, um Sicherheitsprotokolle zu erfüllen und Datenabhörungen zu vermeiden.
  • Verwenden Sie EJS -Vorlagen in node.js, um abgerufene Schlafdaten aus der Kiefer -Bone -API in Ihrer Webanwendung dynamisch anzuzeigen.
  • Erforschen Sie das Potenzial für die Erweiterung der Anwendung, indem Sie mehr Datentypen aus der API der Jawbone -Up integrieren und möglicherweise mit anderen APIs für verbesserte Funktionen kombinieren.
Einrichten einer Jawbone -App

Das erste, was wir brauchen, ist eine neue Jawbone -App, die unter unserem Jawbone -Konto eingerichtet ist. Dies ist die App, die Benutzer autorisieren, um auf ihre Daten zuzugreifen.

Beginnen Sie mit der Anmeldung in den Entwicklerbereich der Jawbone -Website, indem Sie unter https://jawbone.com/up/developer und auf den Link "Anmelden" unten links klicken. Sie benötigen kein bestimmtes Jawbone -Entwicklerkonto, da Sie sich mit einem vorhandenen Jawbone -Konto anmelden können.

Verbindung mit dem Jawbone Up API mit Node.js herstellen Besuchen

Auf dieser Seite erreichen Sie Ihre Entwicklerkontoseite. Klicken Sie hier auf "App erstellen". Verbindung mit dem Jawbone Up API mit Node.js herstellen

Auf der geladenen Seite werden Sie aufgefordert, die Details Ihrer App einzugeben: Verbindung mit dem Jawbone Up API mit Node.js herstellen
  • Name - Der Name Ihrer Anwendung habe ich "Jawbone Up Node Demo" eingegeben.
  • Beschreibung - Dies ist eine kurze Beschreibung, die in der UP -App -Galerie des Benutzers auftritt.
  • Lange Beschreibung - Dies erfolgt auf der Detailseite der App in der App Gallery.
  • Logo - Laden Sie ein Logo für Ihre Anwendung hoch. Wenn Sie einen Fehler über "Select" erhalten (seltsam, ich weiß, aber es wird für die wenigen Personen, die mitmachen und diese Nachricht erhalten), ist wahrscheinlich Ihr Logo -Bild zu groß.
  • URL - Die Homepage Ihrer App
  • Autorisierungs -URL - Die URL, bei der Ihre Anmeldeseite zu finden ist. Geben Sie für unsere Testzwecke in https: // localhost: 5000/login/Jawbone ein.
  • oAuth regelt URIs - URLs, die Ihre Anwendung auf nach dem authentifizierten Benutzer umleiten darf. In unserer Demo geben wir https: // localhost: 5000.
  • ein

Sobald Sie klicken, um die Anwendung zu erstellen, werden Sie mit einer Liste Ihrer Apps auf die Seite geleitet. Ihre neu erstellte App sollte meiner ähnlich aussehen:

Verbindung mit dem Jawbone Up API mit Node.js herstellen

Beachten Sie die "Client -ID" und "App Secret" - das müssen Sie mit der Jawbone -API verbinden.

Starten Sie unsere Knoten -App

Ich werde unseren gesamten Node Server -Code in eine Datei namens Server.js einbeziehen. Wir benötigen zunächst die erforderlichen NPM -Module für unseren Server.

Erstens haben wir eine grundlegende Express -App eingerichtet.

<span>var express = require(‘express’),
</span>    app <span>= express(),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir benötigen dann EJs (eingebettete JavaScript), mit dem wir JavaScript in unsere HTML -Vorlagen einfügen können. Wir werden dies verwenden, um JavaScript -Variablen in unserem zurückgegebenen HTML anzuzeigen.

ejs <span>= require('ejs'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Um sich mit der Jawbone -API authentifizieren zu können und zu unserer Anwendung zurückzuführen, verlangt Jawbone, dass wir zu einer Seite über HTTPS umleiten. Dazu müssen wir https einbeziehen.

https <span>= require('https'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Als nächstes schließen wir FS ein, mit dem wir das Dateisystem lesen können. Wir müssen dies in Serverzertifikatdateien lesen, um HTTPS zu aktivieren.

fs <span>= require('fs'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir brauchen auch Body-Parser, damit wir JSON-Anfragen behandeln können:

bodyParser <span>= require('body-parser'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die API von Jawbone Up verwendet das OAuth 2.0 -Protokoll zur Authentifizierung. Grundsätzlich bedeutet dies, dass sich ein Benutzer mit ihrem Jawbone -Konto anmeldet und uns die Erlaubnis zum Zugriff auf ihre Daten erteilt. Wir müssen dieses Protokoll durchlaufen. Glücklicherweise enthält das Passport-Modul von NPM ein Modul namens Passport-OAUTH, das dies unterstützt. Wir haben den Reisepass in unserer App zusammen mit OAuth 2.0 wie SO:

eingerichtet
passport <span>= require('passport'),
</span><span>JawboneStrategy = require('passport-oauth').<span>OAuth2Strategy</span>,</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir haben dann eine selbsterklärende Variable, die den Port speichert, auf dem wir ausgeführt werden.

port <span>= 5000,</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Als nächstes werden wir alle für die Authentifizierung im Pass und OAuth 2.0 in JawboneAuth benötigten Werte speichern. Dies ist der Moment, in dem Sie die Werte "Client -ID" und "App Secret" verwenden, die wir früher zur Kenntnis genommen haben, als wir unsere App registriert haben.

<span>var express = require(‘express’),
</span>    app <span>= express(),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Hier ist ein Überblick darüber, was diese Werte bedeuten und/oder woher sie stammen:

  • clientID - Dies ist die für Ihre Jawbone -App aufgeführte "Client -ID".
  • ClientSecret - Dies ist der Wert „App Secret“ darunter.
  • Authorizationurl - Dies ist der Ort der UP OAuth 2.0 -Authentifizierungsseite, auf die der Benutzer umgeleitet wird.
  • Tokenurl - Dies ist die URL in der API von Jawbone Up, an die wir einen HTTPS -Anruf tätigen müssen, um einen Zugriffs -Token anzufordern. Dieses Token ist das, was wir in unsere Anrufe an die API von Jawbone Up einbeziehen müssen, um zu beweisen, dass wir befugt sind, diese Datenanfragen zu stellen. In der API der Jawbone Up API dauert dieses Token ein Jahr, sodass Sie sie in einer Datenbank speichern und einen Benutzer ein Jahr lang mit ihrem Kieferbone -Konto verbunden sind, bevor Sie sie erneut automatisch benötigen. Wir werden nicht versuchen, Benutzer und so in diesem Tutorial zu speichern, aber es ist gut zu beachten, wenn Sie dies weiter drücken möchten.
  • callbackurl - Die URL auf unserer Website, auf die Jawbone den Benutzer zurückführt, sobald er uns erfolgreich auf seine Daten zugegriffen hat. Für uns ist es eine Seite, um die Schlafdaten anzuzeigen.

Die letzte Variable, die wir definieren müssen, sind unsere SSLOPTIONS, die alle Details enthält, die wir unserem Server angeben müssen, damit wir diesen Server mithilfe von HTTPS ausführen können. Ich werde jeweils später in diesem Artikel ausführlich durchgehen, wenn ich erläutere, wie wir https einrichten.

Wir geben dann einige Zeilen ein, die einige grundlegende Node App -Funktionen definieren, die den Knotenentwicklern da draußen vertraut sind:

ejs <span>= require('ejs'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
  • bodyparser - ermöglicht es uns, JSON -Objekte zu analysieren.
  • Statischer Ordner - Definiert, wo unsere statischen Dateien wie Bilder auf dem Server stehen (in unserem Fall, /öffentlichen Ordner).
  • EJS - weist das EJS -Modul als unsere Vorlagenmotor zu.
  • Ordner "Views" - Definiert, wo sich unsere EJS -Ansichtsdateien auf dem Server befinden (in unserem Fall der Ordner /Views).

Um den Pass in Express zu initialisieren, führen wir die folgende Zeile aus:

https <span>= require('https'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Als Notiz gibt es im Reisepass noch mehr, wenn wir anhaltende Anmeldessionen haben wollten. In diesem Fall müssten wir Sitzungen einrichten. Für dieses Tutorial konzentrieren wir uns jedoch nur auf die Anfangsphase, die Daten von der API der Jawbone -Up -API abzubauen, und machen uns keine Sorgen um Anmeldesitzungen.

Einrichten unserer GET -Anforderungen

Um den Benutzer auf einen Anmeldebildschirm für die API von Jawbone Up zu lenken, müssen wir auf unserem Server eine URL zuweisen, die dem Anmeldebeinbildschirm Jawbone umgeleitet wird. Der folgende Code weist zu diesem Zweck die URL von /login /Jawbone zu. Auf eine Get -Anfrage an diese URL rufen wir Passport.Authorize () an, um unsere Seite "Jawbone Up Authorization" zu erheben:

<span>var express = require(‘express’),
</span>    app <span>= express(),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wie Sie oben sehen können, haben wir eine Reihe spezifischer Berechtigungen, die wir fragen - ['Basic_read', 'sleep_read']. In unserem Fall fragen wir nach grundlegenden Benutzerdaten und Schlafdaten. Wenn Sie Zugriff auf die Stufenzahl, die gegessenen Mahlzeiten usw. anfordern möchten, können Sie diesem Array zusätzliche Berechtigungsanfragen hinzufügen. Sie können eine Liste der verfügbaren verfügbaren und auf das Jawbone UP -Entwickler -Authentifizierungs -Dokumentationsseite sehen.

Beachten Sie auch, dass es uns wieder auf die Homepage umgeleitet wird, wenn es einen Fehler bei der Authentifizierung im Authentifizierungsbildschirm der Kieferbone -UP -Authentifizierung gibt. Es ist im Passmodul möglich, SuccessReDirect auch festzulegen, aber ich habe mit der API der Jawbone Up -API festgestellt. Es ist nicht erforderlich, da wir unsere Rückruf -URL in der Jawbonestrategy weiter unten in diesem Code definieren.

Wir haben dann die GET -Anfrage eingerichtet, auf die unsere Schlafdaten angezeigt werden. Dies ist der Ort, an dem wir der API sagen werden, dass sie uns umleiten soll, wenn wir Zugriff auf die Benutzerdaten haben. In diesem Beispiel ist es /sleepData:

ejs <span>= require('ejs'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir haben hier die gleiche Passform.Authorize () -Funktion, um zu überprüfen, ob der Benutzer bis zum Erreichen dieser Seite angemeldet ist. In diesem Fall führen wir res.render ('userData', req.account) aus; Dies gibt die Daten über, dass die API der Kieferbone auf die userData.ejs -Vorlage zurückgegeben hat (die wir in Kürze einrichten werden). Wenn sie nicht angemeldet sind, werden sie zurück zum Authentifizierungsbildschirm des Kieferknochens gerichtet.

Wir haben dann eine URL festgelegt, damit der Benutzer sich bei /logout anmeldet, wodurch der Benutzer nach dem Auskaufen auf die Homepage zurückgeleitet wird:

https <span>= require('https'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Schließlich setzen wir es für unser Routing, um unsere Index.ejs -Vorlage zu laden, wenn jemand versucht, auf die Homepage zuzugreifen:

fs <span>= require('fs'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie Passport, um eine Verbindung zum Kieferknochen -up -API zu verbinden.

Der größte Teil des Codes ist ebenfalls die wichtigste - die Einrichtung einer Passport -Strategie, um den Passport mitzuteilen, wie Anfragen zur Genehmigung mit "Jawbone" bearbeitet werden. Es sieht so aus:

bodyParser <span>= require('body-parser'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Lassen Sie uns überlegen, was all dieser Code tut.

Erstens haben wir unsere ClientID, ClientSecret, Authorizationurl, Tokenurl und Callbackurl von unserem JawbonEAUTH -Objekt eingerichtet, das wir zu Beginn der Datei definiert haben. Dies geschieht mit New Jawbonestrategy ().

Als nächstes haben wir unsere Rückruffunktion, die diese Daten übernimmt. Wir verwenden das Token- und Fertig -Werte in dieser Rückruffunktion. Token ist das API -Zugriffs -Token von Jawbone UP, das wir mit Anrufen der API aufnehmen müssen, um zu beweisen, dass wir authentifiziert sind. Erledigt ist die Rückruffunktion, die unsere Daten in die App zurückgibt.

Wir geben zusammen mit der Client-ID und dem früheren Geheimnis in das Jawbone-up-Modul innerhalb des Optionsobjekts:

, zusammen mit der Client-ID ein:
<span>var express = require(‘express’),
</span>    app <span>= express(),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Das Jawbone-Up-Modul ist das Knotenmodul, mit dem wir Zugriff auf die API-Endpunkte der Jawbone Up API erhalten. Dies sind die Anrufe, die wir an die API tätigen, um Benutzerdaten zurückzugeben (z. B. https://jawbone.com/nududy/api/v.1.1/users/@me/sleeps) Diese in Funktionen wie up.moves.get () und up.sleeps.get (). In unserem Beispiel werden wir up.sleeps.get () verwenden, um Schlafdaten zu erhalten.

In up.sleeps.get () haben wir zwei Variablen, ERR und Körper. Wenn ein Fehler beim Empfangen der Daten aus der API vorliegt, wird sie in der ERR -Variablen zurückgegeben, sodass wir dies zu Beginn unseres Rückrufs testen.

Andernfalls werden unsere Daten in einer JSON -Zeichenfolge in der Körpervariablen zurückgegeben. Die Körpervariable enthält eine JSON -Zeichenfolge, die so aussieht:

ejs <span>= require('ejs'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Alles, was wir wollen, ist innerhalb von Daten. Wir analysieren die obigen Werte mit JSON.Parse (Körper) in ein JavaScript -Objekt und weisen die Werte im Datenschlüssel einer Variablen mit dem Namen Jawbonedata zu:

:
https <span>= require('https'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dann haben wir eine für Schleife, die jedes Element im Array innerhalb von Daten durchläuft und unsere Datums- und Schlafzeiten formatiert, bevor sie sie in unsere Vorlage zurückgeben, um anzuzeigen.
fs <span>= require('fs'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Hier lesen wir im Datum, konvertieren sie in eine Zeichenfolge und schneiden dann den Tag, den Monat und das Jahr selbst aus. Es wird als Wert von 20150408 zurückgegeben, also schneiden wir die ersten vier Ziffern wie das Jahr heraus, die beiden danach als Monat und die letzten beiden als Tag. Wir ordnen es dann so an, dass es DD/MM/JJJJ wird. Wenn Sie es im US -amerikanischen Datumsformat bevorzugen, können Sie den Monat und den Tag wechseln:
bodyParser <span>= require('body-parser'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die Jawbone -API gibt einen relativ gut formatierten Schlafdauer -Wert als Titel zurück, der wie folgt aussieht: "für 9H 43M". Wir können dies verwenden, aber das "für" Teil wie SO entfernen:
passport <span>= require('passport'),
</span><span>JawboneStrategy = require('passport-oauth').<span>OAuth2Strategy</span>,</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir geben diese Daten dann an die Rückruffunktion unseres Passes zurück, die unsere userData.ejs rendert. Zu diesem Zweck geben wir unsere Jawbonedata -Variable in die Funktion DEMET zurück. Es gibt auch eine Konsole.log, nur damit wir im Protokoll sehen können, wenn die Daten des Kieferbeins gesendet werden, um angezeigt zu werden:
port <span>= 5000,</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden von https

Wie ich bereits erwähnt habe, müssen wir unseren Server mit HTTPS ausführen, da der Service von Jawbone, um die Kiefer -API -API zu verwenden, da beide Seiten HTTPS ausführen müssen. Wenn der Callbackurl nicht auf HTTPS eingestellt ist, erhalten Sie "Ungültige Umleitung" -Fehler, wenn Sie versuchen, sich anzumelden.

Um unser Beispiel zum Laufen zu bringen, verwenden wir ein selbst signiertes Zertifikat. Wenn Sie dies auf einer Live -Website tun, möchten Sie von einer gültigen Zertifikatbehörde ordnungsgemäße Zertifikate erhalten.

In server.js haben wir zwei SSL -Optionen definiert:
jawboneAuth <span>= {
</span>  <span>clientID: 'jUvu1_4u_mA',
</span>  <span>clientSecret: '8961265d16ac678948006c2944ed85dbeeaab547',
</span>  <span>authorizationURL: 'https://jawbone.com/auth/oauth2/auth',
</span>  <span>tokenURL: 'https://jawbone.com/auth/oauth2/token',
</span>  <span>callbackURL: 'https://localhost:5000/sleepdata'
</span><span>},</span>
Nach dem Login kopieren

Dies sind die Dateiorte auf unserem Server unserer beiden authentifizierungsbezogenen Dateien:
  • Schlüssel - Dies ist der private Schlüssel für unseren Server
  • cert - Dies ist unser selbst unterschriebenes Zertifikat

generieren Sie einen privaten Schlüssel für unseren Server

Um einen privaten Schlüssel zu generieren, müssen wir das OpenSSL -Toolkit verwenden. Mac OSX und Linux-Benutzer sollten dies vorinstalliert haben. Für Windows -Benutzer können Sie Cygwin installieren, auf dem Bildschirm „Pakete auswählen“ nach „OpenSSL“ suchen und das angezeigte Paket auswählen.

Wir können diesen privaten Schlüssel generieren, indem wir unser Terminal öffnen, zum Ordner für unseren Server navigieren und den folgenden Befehl ausführen:

<span>var express = require(‘express’),
</span>    app <span>= express(),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dies generiert einen privaten Serverschlüssel, der für die Verwendung von Server bereit ist. Keey.

generieren Sie eine Zertifikat -Signieranforderung (CSR)

Wir müssen dann einen CSR erzeugen. Dies würde normalerweise an eine Zertifikatbehörde verschickt, aber in unserem Fall werden wir sie selbst zu Testzwecken selbst unterschreiben.

Um einen CSR mit unserem oben erstellten privaten Schlüssel zu generieren, führen Sie den folgenden Befehl aus:

ejs <span>= require('ejs'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Sie erhalten eine Liste von Fragen, die Sie beantworten können, und erhalten Ihre CSR als Datei namens Server.csr.

generieren Sie ein signiertes Zertifikat mit unserem privaten Taste

Schließlich führen wir den folgenden Befehl aus, um ein selbstsigniertes Zertifikat ohne Zertifikat zu generieren, um ein Zertifikat zu generieren, das für ein Jahr gültig ist:
https <span>= require('https'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dieser Befehl hätte eine Server.CRT -Datei generieren müssen - dies ist Ihr Zertifikat.

Entfernen Sie unsere Zertifikatanforderung

Für diejenigen, die die Dinge ordentlich halten und ihr Zertifikat selbst unterzeichnen, können wir den Server entfernen. CSR, da unser Zertifikat jetzt signiert ist.

Wir sind https bereit

Mit unserem privaten Schlüssel und unserem Zertifikat in unserer Knotendatei ist unser Server als HTTPS bereit. Der folgende Code startet den Server mithilfe von HTTPS und unseren SSLOPTIONS:

fs <span>= require('fs'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Unsere EJS -Dateien

Unser HTML für diese App ist alles in .ejs -Dateien, damit wir bei Bedarf JavaScript -Variablen in sie einbeziehen können. Diese Dateien befinden sich alle innerhalb /Ansichten. Index.ejs ist sehr einfach und enthält nur einen Titel, Anweisungen und eine Protokoll -Schaltfläche, die zu /login /Jawbone wird:

bodyParser <span>= require('body-parser'),</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

userData.ejs ist, wo die Aktion ist. Das Hauptbit, auf das wir uns konzentrieren können, ist unsere Tabelle:

passport <span>= require('passport'),
</span><span>JawboneStrategy = require('passport-oauth').<span>OAuth2Strategy</span>,</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Für diejenigen, die neu in EJs sind, betten wir JavaScript in Tags ein. Wir übergeben Elemente an die UserData -Vorlage, die wir durch die Verwendung eines für Schleife wie SO iterieren: . Jedes Datum und jeder Titel werden dann mit unsere App in Aktion

Um die App zum Laufen zu bringen, gehen Sie zu Ihrem Terminal und laufen Sie aus:

port <span>= 5000,</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie ausgeführt werden, gehen Sie zu http: // localhost: 5000 und Sie sehen unsere Anfangsseite:
Verbindung mit dem Jawbone Up API mit Node.js herstellen

Wenn wir auf die Schaltfläche Anmeldung klicken, werden wir zu http: // localhost: 5000/login/Jawbone übertragen, die uns auf die Seite der Kieferbone -Authentifizierung leitet. Die Seite fordert uns für unsere Anmeldedetails für Jawbone auf. Sobald Sie diese Details eingegeben haben oder wenn Sie bereits auf der Jawbone -Website angemeldet sind, werden Sie auf eine Auth -Seite angewiesen, um Zugriff auf Ihre Benutzerdaten zu fordern. Klicken Sie auf "zustimmen":
Verbindung mit dem Jawbone Up API mit Node.js herstellen

Wenn wir klicken, sollten wir uns auf die Seite http: // localhost: 5000/sleepData mit einer Tabelle unserer zurückgegebenen Schlafdaten verwandeln:
Verbindung mit dem Jawbone Up API mit Node.js herstellen

Und wenn wir auf die Schaltfläche "Anmeldung abmelden" klicken, sollte es uns auszeichnen und uns wieder auf die Startseite umleiten.

Schlussfolgerung

, der unseren Überblick über die Grundlagen der Verbindung mit dem Jawbone Up -API und der Rückgabe von Daten an einen Knotenserver vervollständigt.

.

In den nächsten Schritten von hier werden eine Datenbank eingerichtet, um die Daten für die zukünftige Verwendung zu speichern, Benutzerkonten für Ihre App zu erstellen und die Datenmenge, die Sie aus der UP -API eingeben Schöne Grafiken!) Und mehr. Kombinieren Sie diese Daten mit einer beliebigen Anzahl anderer APIs da draußen und das Potenzial einiger wirklich ordentlicher Anwendungen ist riesig!

Andere nützliche Ressourcen
  • Dokumentation für das Knoten-Jawbone-Up-Modul
  • Die Dokumentation des Jawbone -Entwicklers
  • Dokumentation für Pass
  • Eine UP- und Knoten -Demo mit Benutzerkonten und MongoDB

Häufig gestellte Fragen zur Verbindung von Jawbone Up API mit Node.js

Wie lautet die API von Kieferbone und wie funktioniert sie? Es ermöglicht die Extraktion von Daten aus der Kiefer-Bone-Up-Plattform, die die Aktivität, Schlaf, Mahlzeit und andere gesundheitsbezogene Daten des Benutzers umfasst. Die API verwendet erholsame Anrufe und Antworten sind in JSON formatiert. Um zunächst Ihre Bewerbung auf der Entwickler -Website von Jawbone zu registrieren, um Ihre Kunden -ID und Ihr Client -Geheimnis zu erhalten. Anschließend können Sie das NPM-Paket "Jawbone-up" in Ihrer Node.js-Anwendung verwenden. Dieses Paket bietet eine einfache Möglichkeit, sich zu authentifizieren und Anfragen an die API von Jawbone Up API zu stellen. Alternativen wie Fitbit -API, Google Fit API oder Apple HealthKit. Diese APIs bieten auch Zugriff auf die Gesundheits- und Fitnessdaten des Benutzers und verfügen über umfangreiche Unterlagen, um Entwicklern zu helfen.

Was ist mit Jawbone und seinen Diensten passiert? Das Unternehmen ist zu einem medizinischen Abonnementdienst namens Jawbone Health Hub übergegangen. Die Jawbone Up -App und die API werden jedoch nicht mehr unterstützt. verfügbar. Alle Anwendungen, die diese API verwenden, funktionieren nicht mehr wie erwartet. Es wird empfohlen, auf alternative APIs für den Zugriff auf Gesundheits- und Fitnessdaten umzusteigen. . Zunächst müssen Sie Ihre Bewerbung auf der Entwicklerseite von Fitbit registrieren. Anschließend können Sie die Fitbit -API verwenden, um auf Benutzergesundheits- und Fitnessdaten zuzugreifen. Die Fitbit -API bietet eine ähnliche Funktionalität wie die API der Kieferbone -Up, einschließlich Zugriff auf Aktivitäts-, Schlaf- und Mahlzeiten. Node.js ist eine JavaScript -Laufzeit, die auf Chrome's V8 JavaScript Engine basiert. Es wird zum Aufbau skalierbarer Netzwerkanwendungen verwendet. Node.js ist nicht blockiert, was es effizient und leicht macht, perfekt für datenintensive Echtzeitanwendungen. Es wird üblicherweise zum Verbinden mit APIs aufgrund seiner Effizienz und Benutzerfreundlichkeit verwendet. .js, Sie können Fehler mit dem Ereignis "Fehler" verarbeiten. Dieses Ereignis wird nach einem Fehler während der Anfrage ausgestrahlt. Sie können auf dieses Ereignis zuhören und den Fehler entsprechend verarbeiten, z. Zugang zu einer Reihe von Gesundheits- und Fitnessdaten. Dies umfasst Aktivitätsdaten (wie Schritte, Entfernung und Kalorienverbrennung), Schlafdaten (wie Schlafdauer und Schlafqualität) und Mahlzeiten (wie die Nahrungsaufnahme und die Ernährungsinformationen). Die genauen verfügbaren Daten hängen von der spezifischen API und den vom Benutzer erteilten Berechtigungen ab. APIs, es ist wichtig, Best Practices für Datenschutz und Sicherheit zu befolgen. Dies beinhaltet die Erfassung der Benutzereinwilligung vor dem Zugriff auf ihre Daten, die Verwendung sicherer Verbindungen (HTTPS) für alle Anforderungen, das sicher

Das obige ist der detaillierte Inhalt vonVerbindung mit dem Jawbone Up API mit Node.js herstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage