Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Invalid argument (callbackUrlScheme): must be a valid URL scheme

I am using fitbitter 2.0.1 in my flutter application to display fitness related data from fitbit. But I am getting "Invalid argument (callbackUrlScheme): must be a valid URL scheme" as a error. For more details I have given below my flutter code:

 
import 'package:fitbitter/fitbitter.dart';
import 'package:flutter/material.dart';
import '../utils/strings.dart';

class HomePage extends StatelessWidget {
  HomePage({Key? key}) : super(key: key);

  static const route = '/';
  static const routename = 'HomePage';

  @override
  Widget build(BuildContext context) {
    print('${HomePage.routename} built');
    return Scaffold(
      appBar: AppBar(
        title: Text(HomePage.routename),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () async {
                // Authorize the app and get the Fitbit credentials
                FitbitCredentials? fitbitCredentials =
                    await FitbitConnector.authorize(
                        clientID: Strings.fitbitClientID,
                        clientSecret: Strings.fitbitClientSecret,
                        redirectUri: Strings.fitbitRedirectUri,
                        callbackUrlScheme: Strings.fitbitCallbackScheme);
                print(fitbitCredentials);

                //Instantiate a proper data manager (for example, for SpO2 data)
                FitbitSpO2DataManager fitbitSpO2DataManager =
                    FitbitSpO2DataManager(
                  clientID: Strings.fitbitClientID,
                  clientSecret: Strings.fitbitClientSecret,
                );

                //Fetch yesterday's data
                final spO2Data =
                    await fitbitSpO2DataManager.fetch(FitbitSpO2APIURL.day(
                  date: DateTime.now().subtract(Duration(days: 1)),
                  fitbitCredentials: fitbitCredentials!,
                )) as List<FitbitSpO2Data>;
                print(spO2Data);
                // Use them as you want
                if (spO2Data.isNotEmpty) {
                  final snackBar = SnackBar(
                      content: Text(
                          'Yesterday your SpO2 was ${spO2Data[0].avgValue}% on average!'));
                  ScaffoldMessenger.of(context).showSnackBar(snackBar);
                }
              },
              child: Text('Tap to authorize and fetch data'),
            ),
          ],
        ),
      ),
    );
  }
}
So, please help me to solve this issue so that I can display fitness related data of user in my flutter app.
Thanks and Regards
Best Answer
0 Votes
1 REPLY 1

Hi @GaneshDev 

 

"callbackUrlScheme" is not a supported parameter with Fitbit.   Please review the following pages to see what parameters are supported

 

Authorize: https://dev.fitbit.com/build/reference/web-api/authorization/authorize/

OAuth2 Token: https://dev.fitbit.com/build/reference/web-api/authorization/oauth2-token/

 

Gordon

Gordon Crenshaw
Senior Technical Solutions Consultant
Fitbit Partner Engineering & Web API Support | Google
Best Answer
0 Votes