Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            WebServer ws = new WebServer(SendResponse, "http://localhost:8080/test/");
            ws.Run();

            var clientIdentifier = "11df6ee71f2fa9e5799164c20c8bc099";
            var clientSecret = "57862a3d8bc915d728566216575697b3";
            var authorizationEndpointUrl = "https://www.fitbit.com/oauth2/authorize?client_id=229XX2";
            var tokenEndpoint = "https://api.fitbit.com/oauth2/token";

            Authenticator auth=new Authenticator(clientIdentifier, clientSecret, authorizationEndpointUrl, tokenEndpoint);
            
            auth.Authenticate2();

            Console.WriteLine("A simple web server. Press a key to quit!");
            Console.ReadKey();
            ws.Stop();
        }
Ejemplo n.º 2
0
        public void Start()
        {

            var clientIdentifier = "11df6ee71f2fa9e5799164c20c8bc099";
            var clientSecret = "57862a3d8bc915d728566216575697b3";
            var tokenEndpoint = "https://api.fitbit.com/oauth2/token";
            var clientID = "229XX2";

            //  START THE AUTH PROCESS - provide needed info for auth process
            Authenticator auth = new Authenticator(clientID, clientIdentifier, clientSecret, tokenEndpoint);
            auth.Authenticate();

            //  server functions
            ThreadPool.QueueUserWorkItem((o) =>
            {
                Console.WriteLine("Server stared!");

                try
                {
                    while (_listener.IsListening)
                    {
                        ThreadPool.QueueUserWorkItem((c) =>
                        {
                            var context = c as HttpListenerContext;

                            try
                            {
                                string responderString = _responderMethod(context.Request);

                                //  Get auth code from request URL to server
                                Uri requestUri = context.Request.Url;
                                var code = HttpUtility.ParseQueryString(requestUri.Query).Get("code");

                                byte[] buf = Encoding.UTF8.GetBytes(responderString);

                                context.Response.ContentLength64 = buf.Length;
                                context.Response.OutputStream.Write(buf, 0, buf.Length);

                                //  Exchange code for accessToken
                                string accessToken = auth.AccessToken(code);

                                //  Send request for FitBit info - define what info you want
                                FitBitRequest req = new FitBitRequest(accessToken);
                                //string requestScope = "profile";


                                //req.SendRequest(requestScope);
                                req.SendRequest();
                            }

                            //Suppress any exceptions
                            catch { }

                            finally
                            {
                                context.Response.OutputStream.Close();
                            }

                        }, _listener.GetContext());
                    }
                }
                //Suppress any exceptions
                catch { }

            });
        }