This is a node module for handling with GraphQL in Fitbit OS.
In order to use this library, you have to develop your app on the command line interface (CLI) and not on studio.fitbit.com. To install the library use the following command:
npm install graphql-fitbit
After you have installed the library on your project, you can import the library in your project. Just open your index.js
file in the companion folder and add there the following line below the other imports:
import * as graphql from "graphql-fitbit/companion";
Then you can call the function everywhere you want. Just make sure that you initalize also the callback function.
// Example query
const query = `{
stopPlace(id: "NSR:StopPlace:6905") {
id
name
estimatedCalls(startTime:"2018-12-14T20:00:00+0200" timeRange: 72100, numberOfDepartures: 10) {
expectedDepartureTime
destinationDisplay {
frontText
}
quay {
id
}
serviceJourney {
journeyPattern {
line {
id
name
transportMode
}
}
}
}
}
}`;
// Enter in the first place
graphql.requestGraphQL('https://api.entur.org/journeyplanner/2.0/index/graphql', query, myCallback);
function myCallback(data){
console.log(data); // Here you have the data in JSON format.
}
Unfortunately Fitbit uses the gulp uglify library, which does not allow to use async functions.
graphql.requestGraphQL(url, query, callback, debug);
Sends a request to the GraphQL URL and responds with the callback.
url
: GraphQL endpoint urlquery
: GraphQL query in a stringcallback
: Callback function where the response can be send todebug
: If you want detailed information about the request (default: false)