cari
Rumahhujung hadapan webtutorial jsMenyambung ke API UP Jawbone dengan Node.js

Menyambung ke API UP Jawbone dengan Node.js

Sebagai pemaju, saya tidak dapat membantu tetapi ingin mengakses jumlah kiraan langkah yang besar dan data kebiasaan tidur yang saya lakukan pada saya. Terdapat banyak data! Oleh itu, saya mula melihat bagaimana untuk menarik data ini menggunakan API dan Node Jawbone Up.

Saya dapati contoh bagaimana untuk bekerja dengan API UP API dan nod di seluruh web tetapi mereka semua terlibat dan mempunyai banyak bahagian yang bergerak, bersama dengan beberapa modul yang sudah lapuk (seperti versi lama Express). Dalam artikel ini saya ingin memberi tumpuan kepada asas -asas mutlak -tidak bimbang tentang menyimpan data pengguna ke dalam pangkalan data, membuat akaun atau menyambungkan log masuk sosial. Kami akan memberi tumpuan kepada perkara -perkara teras yang perlu anda ketahui untuk mendapatkan pelayan nod untuk mengesahkan dengan API Jawbone dan mengembalikan data pengguna.

Semua kod untuk demo ini boleh didapati di repo GitHub kami.

Takeaways Key

Perkara pertama yang kami perlukan adalah aplikasi Jawbone baru yang ditubuhkan di bawah akaun Jawbone kami. Ini adalah aplikasi yang pengguna akan memberi kuasa untuk mengakses data mereka.

Mulailah dengan log masuk ke bahagian pemaju tapak Jawbone dengan pergi ke https://jawbone.com/up/developer dan klik pautan "Log masuk" di sebelah kiri bawah. Anda tidak akan memerlukan akaun pemaju Jawbone tertentu kerana mereka akan membolehkan anda log masuk menggunakan akaun Jawbone yang sedia ada.

Setelah log masuk, pergi ke https://jawbone.com/up/developer/account, atau klik pautan "Urus Akaun" di menu kiri di bawah "Akaun". Menyambung ke API UP Jawbone dengan Node.js

Pada halaman ini, anda akan sampai ke halaman akaun pemaju anda. Dari sini, klik "Buat App".

Menyambung ke API UP Jawbone dengan Node.js

pada halaman yang dimuatkan, anda akan diminta untuk memasukkan butiran aplikasi anda:

  • Nama - Nama permohonan anda, saya memasuki "Jawbone Up Node Demo".
  • Penerangan - Ini adalah penerangan ringkas yang akan muncul di galeri aplikasi UP pengguna.
  • Penerangan panjang - Ini muncul pada halaman terperinci aplikasi di galeri aplikasi.
  • Logo - Muat naik logo untuk permohonan anda. Jika anda menerima ralat mengenai "pilih" (pelik saya tahu, tetapi ia akan masuk akal kepada beberapa orang yang mengikuti dan mendapatkan mesej itu), kemungkinan imej logo anda terlalu besar.
  • URL - Laman Utama Aplikasi Anda
  • URL Kebenaran - URL yang halaman log masuk anda akan ditemui di. Untuk tujuan ujian kami, masukkan https: // localhost: 5000/login/jawbone.
  • oAuth Redirect uris - URL bahawa permohonan anda dibenarkan untuk mengarahkan ke sekali pengguna telah disahkan. Dalam demo kami, kami akan memasuki https: // localhost: 5000.

Sebaik sahaja anda mengklik untuk membuat aplikasi, anda akan diarahkan ke halaman dengan senarai aplikasi anda. Aplikasi yang baru dibuat anda sepatutnya kelihatan serupa dengan saya:

Menyambung ke API UP Jawbone dengan Node.js

Ambil perhatian "ID Pelanggan" dan "Rahsia App" - ini adalah apa yang anda perlukan untuk menyambung ke API Jawbone.

Memulakan aplikasi nod kami

Saya akan memasukkan semua kod pelayan nod kami dalam satu fail yang dipanggil server.js. Kami mulakan dengan memerlukan modul NPM yang diperlukan untuk pelayan kami.

Pertama, kami menyediakan aplikasi Express asas.

<span>var express = require(‘express’),
</span>    app <span>= express(),</span>

Kami kemudian memerlukan EJS (JavaScript tertanam), yang membolehkan kami memasukkan JavaScript ke dalam templat HTML kami. Kami akan menggunakan ini untuk memaparkan pembolehubah JavaScript dalam HTML kami yang dikembalikan.

ejs <span>= require('ejs'),</span>

Untuk dapat mengesahkan dengan API Jawbone dan mengalihkan kembali ke permohonan kami, Jawbone memerlukan kami mengarahkan ke halaman melalui HTTPS. Untuk melakukan ini, kita perlu memasukkan https.

https <span>= require('https'),</span>

Seterusnya, kami termasuk FS, yang membolehkan kami membaca sistem fail. Kami memerlukan ini untuk dibaca dalam fail sijil pelayan untuk membolehkan HTTPS.

fs <span>= require('fs'),</span>

kami juga memerlukan badan-badan untuk membolehkan kami mengendalikan permintaan JSON:

bodyParser <span>= require('body-parser'),</span>

API Jawbone UP menggunakan protokol OAuth 2.0 untuk pengesahan. Pada asasnya, ini bermakna untuk mempunyai pengguna log masuk dengan akaun Jawbone mereka dan memberi kami kebenaran untuk mengakses data mereka, kami perlu melalui protokol ini. Nasib baik, modul pasport NPM mengandungi modul yang dipanggil Pasport-OAuth yang menyokong ini. Kami menyediakan pasport dalam aplikasi kami bersama -sama dengan OAuth 2.0 seperti SO:

passport <span>= require('passport'),
</span><span>JawboneStrategy = require('passport-oauth').<span>OAuth2Strategy</span>,</span>

Kami kemudian mendapat pemboleh ubah penjelasan diri yang menyimpan pelabuhan yang akan kami jalankan.

port <span>= 5000,</span>

Seterusnya, kami akan menyimpan semua nilai yang diperlukan untuk pengesahan dalam Pasport dan OAuth 2.0 di dalam JawboneAuth. Inilah saat anda akan menggunakan nilai "ID Pelanggan" dan "Rahsia App" yang kami ambil perhatian sebelum ini apabila kami mendaftarkan aplikasi kami.

<span>var express = require(‘express’),
</span>    app <span>= express(),</span>

Berikut adalah gambaran keseluruhan tentang nilai -nilai ini dan/atau di mana mereka datang dari:

  • ClientID - Ini adalah "ID Pelanggan" yang disenaraikan untuk aplikasi Jawbone anda.
  • ClientSecret - Ini adalah nilai "Rahsia App" di bawahnya.
  • kebenaran - ini adalah lokasi halaman pengesahan OAuth 2.0 yang pengguna akan diarahkan ke.
  • Tokenurl - Ini adalah URL dalam API UP API yang kita mesti membuat panggilan HTTPS, untuk meminta token akses. Token ini adalah apa yang perlu kita sertakan dalam panggilan kami ke API Jawbone Up untuk membuktikan kami diberi kuasa untuk membuat permintaan tersebut untuk data. Dalam API UP Jawbone, token ini berlangsung selama setahun, jadi anda boleh menyimpannya dalam pangkalan data dan mempunyai pengguna yang disambungkan ke akaun Jawbone mereka selama setahun sebelum perlu mengesahkannya semula. Kami tidak akan melihat penyimpanan pengguna dan sebagainya dalam tutorial ini, tetapi adalah baik untuk diingat jika anda ingin menolaknya lagi.
  • callbackurl - URL di laman web kami yang Jawbone akan mengarahkan pengguna kembali ke apabila mereka berjaya memberikan kami akses kepada data mereka. Bagi kami ia adalah halaman untuk memaparkan data tidur.

Pembolehubah terakhir yang perlu kita tentukan adalah SSLOptions kami yang mengandungi semua butiran yang perlu kami berikan kepada pelayan kami untuk membolehkan kami menjalankan pelayan ini menggunakan HTTPS. Saya akan pergi ke setiap ini secara terperinci dalam artikel ini apabila menjelaskan bagaimana kami menubuhkan HTTPS.

Kami kemudian memasukkan beberapa baris yang menentukan beberapa fungsi aplikasi nod asas yang akan menjadi biasa kepada pemaju nod di luar sana:

ejs <span>= require('ejs'),</span>
  • bodyparser - membolehkan kita menghuraikan objek JSON.
  • Folder Statik - Menentukan di mana fail statik kami seperti imej akan berada di pelayan (dalam kes kami, /folder awam).
  • EJS - Menetapkan modul EJS sebagai enjin templat kami.
  • Folder Views - Tentukan di mana fail paparan EJS kami akan berada di pelayan (dalam kes kami, folder /paparan).

Untuk memulakan pasport dalam Express, kami menjalankan baris berikut:

https <span>= require('https'),</span>

Sebagai nota, terdapat lebih banyak lagi yang ditubuhkan dalam pasport jika kita mahu mengadakan sesi log masuk yang berterusan. Dalam kes ini, kita perlu menubuhkan sesi. Walau bagaimanapun, untuk tutorial ini, kami hanya akan memberi tumpuan kepada peringkat awal untuk mendapatkan data dari API Jawbone Up dan tidak akan bimbang tentang sesi log masuk.

menyediakan permintaan kami

Untuk mengarahkan pengguna ke skrin log masuk untuk API Jawbone UP, kami perlu menetapkan URL pada pelayan kami yang akan diarahkan ke skrin log masuk Jawbone. Kod di bawah memberikan URL /login /tulang rahang untuk tujuan ini. Atas permintaan untuk URL ini, kami memanggil pasport.uthorize () untuk memaparkan halaman kebenaran rahang kami:

<span>var express = require(‘express’),
</span>    app <span>= express(),</span>

Seperti yang anda lihat di atas, kami mempunyai pelbagai kebenaran khusus yang kami minta - ['Basic_read', 'Sleep_read']. Dalam kes kami, kami meminta data pengguna asas dan data tidur. Jika anda ingin meminta akses kepada kiraan langkah, makanan yang dimakan dan sebagainya, anda boleh menambah permintaan kebenaran tambahan ke array tersebut. Anda dapat melihat senarai apa yang ada dan apa yang mereka berikan akses ke halaman dokumentasi pengesahan pemaju Jawbone Up.

Juga ambil perhatian, jika terdapat kegagalan dalam mengesahkan dalam skrin pengesahan Jawbone Up, ia akan mengarahkan kami kembali ke laman utama. Ia mungkin dalam modul pasport untuk menetapkan SuccessRedirect juga, namun saya dapati dengan API Jawbone UP, ia tidak diperlukan kerana kami akan menentukan URL panggil balik kami di jawbonestratgy lebih jauh dalam kod ini.

Kami kemudian menyediakan permintaan GET bahawa data tidur kami akan muncul. Ini adalah lokasi yang akan kami beritahu API untuk mengarahkan kami apabila kami mendapat akses kepada data pengguna. Dalam contoh ini, ia adalah /SleepData:

ejs <span>= require('ejs'),</span>

Kami mempunyai pasport yang sama. Berkesan () fungsi di sini, hanya untuk memeriksa bahawa pengguna dilog masuk pada masa mereka mencapai halaman ini. Jika ya, kami menjalankan res.render ('userData', req.account); yang berlalu dalam data bahawa API Jawbone UP kembali ke template userdata.ejs (yang akan kami sediakan tidak lama lagi). Jika mereka tidak dilog masuk, mereka akan diarahkan kembali ke skrin pengesahan Jawbone Up.

Kami kemudian menetapkan URL untuk membolehkan pengguna logout di /logout, yang mengalihkan pengguna kembali ke laman utama sekali log keluar:

https <span>= require('https'),</span>

Akhirnya untuk penghalaan kami, kami menetapkannya untuk memuatkan templat indeks.ejs kami jika seseorang cuba mengakses laman web:

fs <span>= require('fs'),</span>

menggunakan pasport untuk menyambung ke API Jawbone Up

Kod terbesar terbesar juga yang paling penting - menubuhkan "strategi" pasport untuk memberitahu pasport bagaimana menangani permintaan untuk memberi kuasa menggunakan 'Jawbone'. Nampaknya ini:

bodyParser <span>= require('body-parser'),</span>

mari kita pergi ke atas apa yang dilakukan oleh semua kod ini.

Pertama, kami menubuhkan ClientID, ClientSecret, AuthorizationUrl, Tokenurl dan Callbackurl dari objek JawboneAuth kami yang kami tentukan pada permulaan fail. Ini dilakukan dengan menggunakan jawbonestraty baru ().

Seterusnya kami mempunyai fungsi panggil balik kami yang mengendalikan data ini. Kami menggunakan nilai token dan dilakukan dalam fungsi panggil balik ini. Token adalah token akses API Jawbone UP yang kita perlukan untuk memasukkan apa -apa panggilan ke API untuk membuktikan kami disahkan. Selesai adalah fungsi panggil balik yang mengembalikan data kami ke aplikasinya.

Kami lulus token akses, bersama dengan ID pelanggan dan rahsia yang ditakrifkan sebelum ini, ke dalam modul tulang rahang dalam objek pilihan:

<span>var express = require(‘express’),
</span>    app <span>= express(),</span>

Modul Jawbone-Up adalah modul nod yang memberi kita akses kepada titik akhir API UP API. Ini adalah panggilan yang kami buat ke API untuk mengembalikan data pengguna (mis. Ini dalam fungsi seperti up.moves.get () dan up.sleeps.get (). Dalam contoh kami, kami akan menggunakan up.sleeps.get () untuk mendapatkan data tidur.

dalam up.sleeps.get () kami mempunyai dua pembolehubah, kesilapan dan badan. Sekiranya terdapat kesilapan dalam menerima data dari API, ia akan dikembalikan dalam pembolehubah Err supaya kami menguji untuk itu pada permulaan panggilan balik kami.

Jika tidak, kami mendapat data kami kembali dalam rentetan JSON dalam pemboleh ubah badan. Pembolehubah badan akan mengandungi rentetan nilai JSON yang akan kelihatan seperti:

ejs <span>= require('ejs'),</span>

Semua yang kita mahukan adalah dalam data. Kami menghuraikan nilai di atas ke dalam objek JavaScript menggunakan json.parse (badan) dan menetapkan nilai dalam kekunci data kepada pembolehubah yang dipanggil jawbonedata:

https <span>= require('https'),</span>

Kemudian, kami mempunyai gelung yang melalui setiap item dalam array dalam data dan format tarikh kami dan masa tidur sebelum mengembalikannya ke templat kami untuk dipaparkan.

fs <span>= require('fs'),</span>

di sini, kita baca pada tarikh, tukar ke rentetan dan kemudian hirus hari, bulan dan tahun diri kita. Ia dikembalikan sebagai nilai 20150408, jadi kami menghirup empat digit pertama sebagai tahun, kedua selepas itu sebagai bulan dan dua yang terakhir sebagai hari. Kami kemudian mengaturnya supaya ia akan menjadi DD/mm/yyyy, jika anda lebih suka memformatnya dalam format tarikh AS, anda boleh menukar bulan dan hari:

bodyParser <span>= require('body-parser'),</span>

API Jawbone mengembalikan nilai tempoh tidur yang agak baik sebagai tajuk yang kelihatan seperti ini: "untuk 9h 43m". Kita boleh menggunakan ini tetapi keluarkan bahagian "untuk" seperti:

passport <span>= require('passport'),
</span><span>JawboneStrategy = require('passport-oauth').<span>OAuth2Strategy</span>,</span>

Kami kemudian mengembalikan data tersebut ke fungsi panggil balik pasport kami yang akan menjadikan userdata.ejs kami. Untuk berbuat demikian, kami mengembalikan pembolehubah Jawbonedata kami kepada fungsi yang dilakukan. Terdapat juga konsol.log supaya kita dapat melihat di dalam log apabila data Jawbone Up telah dihantar untuk dipaparkan:

port <span>= 5000,</span>

menggunakan https

Seperti yang saya nyatakan sebelum ini, untuk menggunakan API Jawbone UP, kita perlu menjalankan pelayan kami dengan HTTPS, kerana perkhidmatan Jawbone memerlukan kedua -dua belah pihak untuk menjalankan HTTPS. Jika callbackurl tidak ditetapkan ke HTTPS, anda akan menerima kesilapan "Redirect tidak sah" apabila anda cuba log masuk.

Untuk mendapatkan contoh kami berfungsi, kami akan menggunakan sijil yang ditandatangani sendiri. Jika anda melakukan ini di tapak langsung, anda akan ingin mendapatkan sijil yang betul dari pihak berkuasa sijil yang sah.

Dalam server.js, kami telah menentukan dua pilihan SSL:

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>

Ini adalah lokasi fail di pelayan kami dari dua fail berkaitan pengesahan kami:

  • kekunci - Ini adalah kunci peribadi untuk pelayan kami
  • cert - Ini adalah sijil diri kami yang ditandatangani

menghasilkan kunci peribadi untuk pelayan kami

Untuk menjana kunci peribadi kita perlu menggunakan OpenSSL Toolkit. Pengguna Mac OSX dan Linux sepatutnya mempunyai pra-pemasangan ini. Untuk pengguna Windows, anda boleh memasang Cygwin, cari "OpenSSL" di skrin "Pilih Pakej" dan pilih pakej yang muncul.

kita boleh menjana kunci peribadi dengan membuka terminal kami, menavigasi ke folder untuk pelayan kami dan menjalankan arahan berikut:

<span>var express = require(‘express’),
</span>    app <span>= express(),</span>

Ini menghasilkan kunci pelayan peribadi yang sedia untuk digunakan disebut server.key.

menghasilkan permintaan menandatangani sijil (CSR)

kita perlu menjana CSR. Ini biasanya akan dihantar ke pihak berkuasa sijil tetapi dalam kes kami, kami akan menandatanganinya untuk tujuan ujian.

untuk menghasilkan CSR menggunakan kunci peribadi kami yang kami buat di atas, jalankan arahan berikut:

ejs <span>= require('ejs'),</span>

anda akan diberi senarai soalan untuk menjawab, jawabnya dan anda akan menerima CSR anda sebagai fail yang dipanggil server.csr.

menjana sijil yang ditandatangani menggunakan kekunci peribadi pelayan kami

Akhirnya, untuk menghasilkan sijil yang ditandatangani sendiri tanpa pihak berkuasa sijil, kami menjalankan perintah berikut untuk menghasilkan sijil yang akan sah selama satu tahun:

https <span>= require('https'),</span>

Perintah itu sepatutnya menghasilkan fail server.crt - ini adalah sijil anda.

Keluarkan permintaan sijil kami

Bagi mereka yang suka menyimpan perkara yang kemas dan menandatangani sijil mereka sendiri, kami boleh mengeluarkan server.csr sebagai sijil kami kini ditandatangani.

Kami https siap

Dengan kunci peribadi dan sijil kami siap dan ditakrifkan dalam fail nod kami, pelayan kami bersedia untuk dijalankan sebagai HTTPS. Kod berikut memulakan pelayan menggunakan HTTPS dan SSLOptions kami:

fs <span>= require('fs'),</span>

fail EJS kami

HTML kami untuk aplikasi ini adalah semua fail .eJS supaya kami boleh memasukkan pembolehubah JavaScript di dalamnya apabila diperlukan. Fail -fail ini semuanya berada dalam /pandangan. index.ejs sangat mudah dan hanya mengandungi tajuk, arahan dan butang log masuk yang akan pergi ke /login /jawbone:

bodyParser <span>= require('body-parser'),</span>

userdata.ejs adalah di mana tindakan itu. Bit utama yang boleh kami fokuskan ialah jadual kami:

passport <span>= require('passport'),
</span><span>JawboneStrategy = require('passport-oauth').<span>OAuth2Strategy</span>,</span>
Bagi mereka yang baru untuk EJS, kami membenamkan JavaScript dalam tag . Kami lulus dalam item ke template UserData, yang kami lalui melalui menggunakan gelung seperti So: . Setiap tarikh dan tajuk kemudian dimasukkan ke dalam HTML kami menggunakan dan .

aplikasi kami dalam tindakan

Untuk mendapatkan aplikasi berjalan, pergi ke terminal anda dan jalankan:

port <span>= 5000,</span>

dengan berjalan, pergi ke http: // localhost: 5000 dan anda akan melihat halaman awal kami:
Menyambung ke API UP Jawbone dengan Node.js

Jika kita mengklik butang Login, kita akan dibawa ke http: // localhost: 5000/login/jawbone, yang akan mengarahkan kita ke halaman pengesahan Jawbone Up. Halaman ini akan mendorong kami untuk butiran log masuk rahang kami. Sebaik sahaja anda memasukkan butiran tersebut atau jika anda sudah log masuk ke tapak Jawbone, anda akan diarahkan ke halaman Auth yang meminta akses kepada data pengguna anda. Klik "Setuju":
Menyambung ke API UP Jawbone dengan Node.js

Apabila kita mengklik setuju, kita harus diarahkan kembali ke halaman http: // localhost: 5000/sleepdata dengan jadual data tidur kita dikembalikan:
Menyambung ke API UP Jawbone dengan Node.js

Dan jika kita mengklik butang "Log Out", ia harus log keluar dan mengalihkan kami kembali ke halaman utama.

Kesimpulan

yang melengkapkan gambaran keseluruhan kami mengenai asas -asas menyambung ke API Jawbone Up dan mengembalikan data ke pelayan nod.

Langkah -langkah seterusnya dari sini boleh termasuk menyediakan pangkalan data untuk menyimpan data untuk kegunaan masa depan, mewujudkan akaun pengguna untuk aplikasi anda, memperluaskan jumlah data yang anda tarik dari API UP, mengubah cara ia memaparkan (mungkin menambah beberapa Grafik cantik!) Dan banyak lagi. Menggabungkan data ini dengan sebilangan API lain di luar sana dan potensi untuk beberapa aplikasi yang benar -benar kemas adalah besar!

sumber berguna lain

  • Dokumentasi untuk modul node-jawbone-up
  • Dokumentasi Pemaju Jawbone
  • Dokumentasi untuk Pasport
  • demo up dan nod dengan akaun pengguna dan mongoDB

soalan yang sering ditanya mengenai menghubungkan API UP Jawbone dengan node.js

Apakah API Jawbone UP dan bagaimana ia berfungsi? Ia membolehkan pengekstrakan data dari platform Jawbone Up, yang termasuk aktiviti pengguna, tidur, makan, dan data yang berkaitan dengan kesihatan. API menggunakan panggilan dan respons RESTful diformatkan di JSON. Untuk terlebih dahulu mendaftarkan permohonan anda di laman pemaju Jawbone untuk mendapatkan ID pelanggan dan rahsia pelanggan anda. Kemudian, anda boleh menggunakan pakej NPM 'Jawbone-Up' dalam aplikasi Node.js anda. Pakej ini menyediakan cara mudah untuk mengesahkan dan membuat permintaan ke API Jawbone Up. Alternatif seperti Fitbit API, Google Fit API, atau Apple HealthKit. API ini juga menyediakan akses kepada data kesihatan dan kecergasan pengguna dan mempunyai dokumentasi yang luas untuk membantu pemaju.

Apa yang berlaku kepada Jawbone dan perkhidmatannya? Syarikat itu telah beralih ke perkhidmatan langganan perubatan yang dipanggil Jawbone Health Hub. Walau bagaimanapun, aplikasi Jawbone Up dan API tidak lagi disokong. Terdapat. Sebarang aplikasi menggunakan API ini tidak lagi berfungsi seperti yang diharapkan. Adalah disyorkan untuk beralih ke API alternatif untuk mengakses data kesihatan dan kecergasan.

Bagaimana saya boleh berhijrah dari API Jawbone Up ke Fitbit API? . Pertama, anda perlu mendaftarkan permohonan anda di laman pemaju Fitbit. Kemudian, anda boleh menggunakan API Fitbit untuk mengakses data kesihatan dan kecergasan pengguna. API Fitbit menyediakan fungsi yang sama kepada API Jawbone UP, termasuk akses kepada aktiviti, tidur, dan data makan. Node.js adalah runtime JavaScript yang dibina di atas enjin V8 JavaScript Chrome. Ia digunakan untuk membina aplikasi rangkaian berskala. Node.js tidak menyekat, yang menjadikannya cekap dan ringan, sesuai untuk aplikasi masa nyata intensif data. Ia biasanya digunakan untuk menyambung dengan API kerana kecekapan dan kemudahan penggunaannya. .js, anda boleh mengendalikan kesilapan menggunakan peristiwa 'ralat'. Acara ini dipancarkan apabila ralat berlaku semasa permintaan. Anda boleh mendengar peristiwa ini dan mengendalikan ralat dengan sewajarnya, seperti dengan log masuk kesilapan atau mencuba semula permintaan. Akses kepada pelbagai data kesihatan dan kecergasan. Ini termasuk data aktiviti (seperti langkah, jarak, dan kalori dibakar), data tidur (seperti tempoh tidur dan kualiti tidur), dan data makan (seperti pengambilan makanan dan maklumat pemakanan). Data tepat yang tersedia bergantung pada API tertentu dan keizinan yang diberikan oleh pengguna. API, penting untuk mengikuti amalan terbaik untuk privasi dan keselamatan data. Ini termasuk mendapatkan persetujuan pengguna sebelum mengakses data mereka, menggunakan Sambungan Secure (HTTPS) untuk semua permintaan, menyimpan data pengguna dengan selamat, dan hanya meminta jumlah minimum data yang diperlukan untuk aplikasi anda.

Atas ialah kandungan terperinci Menyambung ke API UP Jawbone dengan Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Dari laman web ke aplikasi: Aplikasi pelbagai JavaScriptDari laman web ke aplikasi: Aplikasi pelbagai JavaScriptApr 22, 2025 am 12:02 AM

JavaScript digunakan secara meluas di laman web, aplikasi mudah alih, aplikasi desktop dan pengaturcaraan sisi pelayan. 1) Dalam pembangunan laman web, JavaScript mengendalikan DOM bersama -sama dengan HTML dan CSS untuk mencapai kesan dinamik dan menyokong rangka kerja seperti JQuery dan React. 2) Melalui reaktnatif dan ionik, JavaScript digunakan untuk membangunkan aplikasi mudah alih rentas platform. 3) Rangka kerja elektron membolehkan JavaScript membina aplikasi desktop. 4) Node.js membolehkan JavaScript berjalan di sisi pelayan dan menyokong permintaan serentak yang tinggi.

Python vs JavaScript: Gunakan Kes dan Aplikasi MembandingkanPython vs JavaScript: Gunakan Kes dan Aplikasi MembandingkanApr 21, 2025 am 12:01 AM

Python lebih sesuai untuk sains data dan automasi, manakala JavaScript lebih sesuai untuk pembangunan front-end dan penuh. 1. Python berfungsi dengan baik dalam sains data dan pembelajaran mesin, menggunakan perpustakaan seperti numpy dan panda untuk pemprosesan data dan pemodelan. 2. Python adalah ringkas dan cekap dalam automasi dan skrip. 3. JavaScript sangat diperlukan dalam pembangunan front-end dan digunakan untuk membina laman web dinamik dan aplikasi satu halaman. 4. JavaScript memainkan peranan dalam pembangunan back-end melalui Node.js dan menyokong pembangunan stack penuh.

Peranan C/C dalam JavaScript Jurubah dan PenyusunPeranan C/C dalam JavaScript Jurubah dan PenyusunApr 20, 2025 am 12:01 AM

C dan C memainkan peranan penting dalam enjin JavaScript, terutamanya digunakan untuk melaksanakan jurubahasa dan penyusun JIT. 1) C digunakan untuk menghuraikan kod sumber JavaScript dan menghasilkan pokok sintaks abstrak. 2) C bertanggungjawab untuk menjana dan melaksanakan bytecode. 3) C melaksanakan pengkompil JIT, mengoptimumkan dan menyusun kod hot-spot semasa runtime, dan dengan ketara meningkatkan kecekapan pelaksanaan JavaScript.

JavaScript in Action: Contoh dan projek dunia nyataJavaScript in Action: Contoh dan projek dunia nyataApr 19, 2025 am 12:13 AM

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.

JavaScript dan Web: Fungsi teras dan kes penggunaanJavaScript dan Web: Fungsi teras dan kes penggunaanApr 18, 2025 am 12:19 AM

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

Memahami Enjin JavaScript: Butiran PelaksanaanMemahami Enjin JavaScript: Butiran PelaksanaanApr 17, 2025 am 12:05 AM

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python vs JavaScript: Keluk Pembelajaran dan Kemudahan PenggunaanPython vs JavaScript: Keluk Pembelajaran dan Kemudahan PenggunaanApr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python vs JavaScript: Komuniti, Perpustakaan, dan SumberPython vs JavaScript: Komuniti, Perpustakaan, dan SumberApr 15, 2025 am 12:16 AM

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular