08-25-2014 07:41
08-25-2014 07:41
We are exploring the option of integrating our application with fitbit API. Common structure we have is as, one Client having several users under it. We visited your api documentation, however could not find answers to following questions in order to proceed further:
Answers to above questions will help us to speed up the integration process.
08-25-2014 09:19
08-25-2014 09:19
The answer to all 3 questions is no.
1. Pairing of trackers must happen through a Fitbit application.
2. We require the full OAuth flow in order to get explicit permission from a user before granting an application access to their data.
3. If you have a computer with the sync dongle and the Fitbit Connect software installed, it will sync all trackers that are in range. The users do not need to login for the automatic background sync to happen; background sync happens roughly every 15-20 minutes.
08-25-2014 20:26
08-25-2014 20:26
In regards to #2, you may have a misunderstanding. The user only needs to authorize your application once. You can (and should) store the values you get back for that user. Until the user revokes your access (which they have the ability to do from their profile pages), you can continue to collect data.
So this isn't a real deal breaker. Your application can check if you have their credentials stored. If not, you request authorization. Fitbit allows them to allow or deny it, and passes control back to you in a callback. Then you get to use that indefinitely until the user revokes it. Done right, it basically looks like they never leave your application, although the authorization page has the Fitbit logo and not yours. But it is seamless from the user standpoint.
In regards to #3, consider using the subscription APIs. Each time a user syncs (to Fitbit), you can get a real-time notification and turn around and request whatever data points you care about using the APIs back to Fitbit. In essence, your database can always have current information on each of your users. Well, as current as their last sync.