Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

A sample client, written in C#, is available to demonstrate this process on Github.  This is a C# project created under Visual Studio 2010, written against .Net 4, and is a Winforms Application.

 

The key steps demonstrated by this client are:

  • Embed identitysso.betfair.com into your application
  • Handle the login method and retrieval of a session token from the cookies
  • Handle the keep alive method
  • Handle the logout method

 

How it works

Upon start-up, the URL of the API login page is assigned to the web browser control:

//Give embedded web browser Betfair api login page URL         

System.Uri u = new Uri(LogonURL);

When the web browser control receives data an event is triggered and the following function called: 

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
            //On embeded web browser response get cookie
            string cookie = this.webBrowser1.Document.Cookie;

            if (cookie != null)
                this.ParseCookie(cookie);

            //If successfull login start KeepAlive 
            if (!m_LoggedOut && !m_KeepAliveTimer.Enabled)
            {
                webBrowser1.Visible = false;
                SetMessage("Logon successfull\r\n SSOID=" + m_SSOID);

                
                this.StartKeepAlive();
            }
}

Upon successful login the cookie is parsed for the SSOID. The webrowser control made invisible and the SSOID displayed in a TextBox. The keep-alive timer is started

private void StartKeepAlive()
	{            
            m_KeepAliveTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnKeepAliveTimer);
            // Set the Interval to 15 mins.
            m_KeepAliveTimer.Interval = 1000 * 60 * 15;
            m_KeepAliveTimer.Enabled = true;
        }

Above the StartKeepAlive function simply starts a 15 minute timer which invokes function OnKeepAliveTimer. 

OnKeepAliveTimer sends a Keep Alive message.

A message to this effect is then displayed.

Upon hitting the Logout button the following event handler is invoked:

private void btnLogout_Click(object sender, EventArgs e)
        {
            m_KeepAliveTimer.Enabled = false;
            m_KeepAliveTimer.Close();
            m_LoggedOut = true;

            System.Uri u = new Uri(LogoutURL);
            this.webBrowser1.Url = u;
            this.webBrowser1.Navigate(u);

            SetMessage("Logged out");

        }

 

The keep alive timer is closed. The logout url is sent and a Logged out message is displayed.