StesCodes

Documentation AddressBook Importer DLL version 4.0

The StesCodes AddressBook Importer provides the ability to import contacts from various mail servers and social networks in minutes. The DLL is compatible in both shared and dedicated servers. It also supports .net framework 3.5 and above, also supports C# and VB.net. The below is the technical document to configure the grabber.
 

AutoUpdate DLL

Autoupdate is the first step in configuring StesCodes AddressBook Importer, which will check for updates once every day. Once a update is found, the DLL will download the latest DLL from StesCodes server and update your old DLL automatically. Inorder to perform a manual update, you have to remove a file called "stescodes.im" from your server and start grabbing for any of the service; which will basically force the update process to happen. Most importantly your project should have read/write permission. You shall download the autoupdate DLL by login to StesCodes (http://stescodes.com/sourceupdate.aspx) and download your source code which contains the autoupdate.dll file.

Parameters

Please import namespace "autoupdate"
Parameters Description Required?
1. Context Gets the System.Web.HttpContext object associated with the page Yes
2. Signature Signature Key provided during purchase(license key) Yes
3. Bin Path The physical path to your bin directory to update the DLL. If this parameter were not passed then the default bin location inside the current directory will be choosen to update the DLL. If IMfile path is provided then the path to bin folder should be provided. eg: D:\myproject\bin (no slash after path) Optional
4. IMfile The physical path to some directory where stescodes.im file need to be saved. The IMfile save the information about the updates, so if this file location is passed as 4th parameter then this file location should be passed on "grabcontacts" function as additional parameter. The directory should be provided with write permission. If IMfile path is provided then the path to bin folder should be provided. eg: D:\myproject\somepath (no slash after path) Optional
back to top

AddressBook Importer

The next step after integrating autoupdate is the AddressBook Importer integration.

Reference

  • Add reference to stescodes.dll from your project bin folder
  • Import the namespace "stescodes"
back to top

Settings

Add the below appsettings on your web.config file


    <add key="gmailapikey" value="Your gmail consumer or api key"/>
    <add key="gmailapisecret" value="Your gmail consumer or api secret key"/>

    <add key="consumerKey_yahoo" value="Your yahoo consumer or api key"/>
    <add key="consumerSecret_yahoo" value="Your yahoo consumer or api secret key"/>

    <add key="liveapiKey" value="Your live consumer or api key"/>
    <add key="livesecretKey" value="Your live consumer or api secret key"/>
            
back to top

Direct method

Function

GrabContacts(<servicename>, <your email>, <your password>, this.context);

Parameters for Direct method

Parameters Description Required?
1. ServiceName Service Name refers to the mail servers. Inorder to access a service use the below reference keywords
aol, outlook, icq, pingg, mail.com, aim, plaxo, bigstring, mail2world, in.com, rediff, freenet, gmx

Note: For gmail, yahoo, msn, hotmail and msnmessenger, we recommend to use the OAuth Method

Yes
2. Email Login email of the particular email server. Yes
3. Password Login password of the particular email server. Yes
4. Context Gets the System.Web.HttpContext object associated with the page Yes
5. IMfile If you provide the IMfile path as additional parameter to autoupdate function, then you have to provide the same path here as well. eg: D:\myproject\somepath (no slash after path) Optional

Return Type

The return type is collection.
  1. Email
  2. Name
  3. Address
  4. Phone
back to top

OAuth method

To start grabbing contacts using OAuth Method, you have to make request to three functions

  1. GetAuthenticationUrl
  2. GetAccessToken
  3. GrabContacts_OAuth

To configure API keys in Gmail, Yahoo and Windows Live, click here How to configure API keys.

Function for GetAuthenticationUrl function

GetAuthenticationUrl(servicename, ConsumerKey, ConsumerSecret, callbackurl, policyurl);

Parameters

Parameters Description Required?
1. ServiceName Service Name refers to the mail servers. Inorder to access a service use the below reference keywords
gmail, yahoo, msn, hotmail and msnmessenger.
Yes
2. ConsumerKey Consumer key(API Key) which you received after registering you application on gmail, yahoo, msn, hotmail and msnmessenger Yes
3.ConsumerSecret Consumer Secret(APi Secret) which you received after registering you application on gmail, yahoo, msn, hotmail and msnmessenger Yes
4. callbackurl CallbackURL is the return url which is used, once the user is redirected to authorize, he/she will be redirected to the callbackurl (note: sometimes you might get error with callbackurl between www.xx.com and xx.com, so carefull with www) Yes
5. policyurl URL of your policy page. Yes/No

Return type

The return type is collection.
  1. Token
  2. TokenSecret
  3. UID
  4. AuthURL
back to top

Function for GetAccessToken function

GetAccessToken(servicename, ConsumerKey, ConsumerSecret, callbackurl, token, tokensecret, tokenverifier);

Parameters

Parameters Description Required?
1. ServiceName Service Name refers to the mail servers. Inorder to access a service use the below reference keywords
gmail, yahoo, msn, hotmail and msnmessenger.
Yes
2. ConsumerKey Consumer key(API Key) which you received after registering you application on gmail, yahoo, msn, hotmail and msnmessenger Yes
3.ConsumerSecret Consumer Secret(APi Secret) which you received after registering you application on gmail, yahoo, msn, hotmail and msnmessenger Yes
4. callbackurl CallbackURL is the return url which is used, once the user is redirected to authorize, he/she will be redirected to the callbackurl (note: sometimes you might get error with callbackurl between www.xx.com and xx.com, so carefull with www) Yes
5. Token Token which you received through callback url after user redirection from authorization page. Yes
6. TokenSecret TokenSecret which you receive from "GetAuthenticationUrl" as return parameters. (note:for hotmail, msn and msnmessenger pass this parameter as empty string) Yes/No
7. TokenVerifier TokenVerifier which you received through callback url after user redirection from authorization page. (note:for gmail, hotmail, msn and msnmessenger pass this parameter as empty string) Yes/No

Return type

The return type is collection.
  1. Token
  2. TokenSecret
  3. UID
  4. AuthURL
back to top

Function for GrabContacts_OAuth function

GrabContacts_OAuth(servicename, token, tokensecret, tokenverifier, UID, ConsumerKey, ConsumerSecret, this.context);

Parameters

Parameters Description Required?
1. ServiceName Service Name refers to the mail servers. Inorder to access a service use the below reference keywords
gmail, yahoo, msn, hotmail and msnmessenger.
Yes
2. Token Token which you received from "GetAccessToken" as return parameter. Yes
3. TokenSecret TokenSecret which you receive from "GetAccessToken" as return parameters. Yes/No
4. TokenVerifier TokenVerifier which you receive from "GetAccessToken" as return parameters. Yes/No
5. UID User id which you receive from "GetAccessToken" as return parameters. Yes/No
6. ConsumerKey Consumer key(API Key) which you received after registering you application on gmail, yahoo, msn, hotmail and msnmessenger Yes
7.ConsumerSecret Consumer Secret(APi Secret) which you received after registering you application on gmail, yahoo, msn, hotmail and msnmessenger Yes
8. Context Gets the System.Web.HttpContext object associated with the page Yes
9. IMfile If you provide the IMfile path as additional parameter to autoupdate function, then you have to provide the same path here as well. eg: D:\myproject\somepath (no slash after path) Optional

Return Types

The return type is collection.
  1. Email
  2. Name
  3. Address
  4. Phone
back to top

Debugging

Debugging Gmail:

  1. Create API key with the localhost url as return url(when going live, change the return url to live url)
  2. Replace the api key and secret key in web.config file
  3. Replace the already provided localhost url in oauth.aspx.cs file
  4. Then try with breakpoints to debug

Debugging Yahoo:

  1. Create API key with the localhost url as return url(when going live, change the return url to live url)
  2. Replace the api key and secret key in web.config file
  3. Then try with breakpoints to debug

Debugging Windows Live:

Debugging for Hotmail, MSN and msnmessenger is hard when compared to other services because in OAuth method, for the three services, you receive the token in post data other than in querystring. So follow the below steps to debug in local
  1. Upload the auth.aspx page to your server.
  2. Do the below five steps when the user is redirected after authentication.
  3. Get the post data and construct as a url with querystring parameter(for ex: token=xxx&tokensecret=yyyy as http://youdomain.com/auth.aspx?token=xxx&tokensecret=yyyy)
  4. After constructing the parameter change the constructed url to localhost url(for ex: http://youdomain.com/auth.aspx?token=xxx&tokensecret=yyyy to http://localhost:2345/yourproject/auth.aspx?token=xxx&tokensecret=yyyy
  5. Redirect to the localhost url(for ex: Response.Redirect(http://localhost:2345/yourproject/auth.aspx?token=xxx&tokensecret=yyyy);)
  6. Now you will get the token in localhost for debugging.
  7. Remove the redirection part after you done with your debugging.
back to top

Binding

Once the contacts are grabbed and received in collection object, you should loop through to access the contacts. Binding the data to front end is all customizable.
back to top

Error Handling

There are few error messages you need to taken care on your end

Error Message

Error Description
1. Invalid domain The license(Signature Key) is not registered for this domain. You shall change/edit your domain here http://stescodes.com/sourceupdate.aspx
2. Invalid key The Signature Key is invalid.
3. File missing! add code to check update Please include the code for autoupdate.
4. Add code to check update Please include the code for autoupdate.
5. Invalid username & password The username or password is invalid.
6. Please try again Please try again one more time.
7. Please login to http://www.gmail.com and then try again If the user account is not used for long time Gmail will ask for CAPTCHA authentication, so user have to login to his account and then try importing.
8. Missing input Missing the input parameter
9. This service not available on your plan The service you are requesting to grab contacts are not available on your purchased plan.
back to top

Configurations

Inorder to perform the autoupdate process successfully, your project should be read/write enabled. Once found update, two files will be updated, one is stescodes.dll which is inside bin folder and other is stescodes.im which is outside the bin folder. The stescodes.im file has the details of update info.

If you don't want to provide write permission for the entire project, then follow the below steps:

  • Create a folder with write permission or specify a folder with write permission for IMfile
  • Pass the location of folder to "checkforupdate" function as fourth parameter(eg: checkforupdate(this.Context, signature,bin location,IMfile location);)
  • Also specify the path as additional parameter to "grabContacts"(specify as third parameter) function

Permissions

Inorder to perform the autoupdate process successfully, your project should be read/write enabled.
back to top

Turn On/Off AutoUpdate

Turn OFF:

In order to turn off autoupdate, login to http://stescodes.com/sourceupdate.aspx then click OFF button. Once autoupdate is set OFF, the DLL with latest updates will not be updated on your server automatically, you have to manually update by downloading the latest DLL from customer login. No need to providing write permission for bin folder.

Even though you turn OFF the autoupdate feature, you should have the below on your project.

  • Either you should create a folder with write permission OR provide write permission to root folder. This process is necessary for the stescodes.im file to be created which keeps track of the service validations.
  • If you create a folder with write permission then specify that location as parameter for "autoupdate" function and "grabContacts" function(refer above for passing parameter).

Turn ON:

In order to turn ON autoupdate, login to http://stescodes.com/sourceupdate.aspx then click ON button. Once autoupdate is set ON, the DLL with latest updates will be updated on your server automatically.

If you turn ON the autoupdate feature, you should have the below on your project

  • Either you should create a folder with write permission OR provide write permission to root folder.
  • If you create a folder with write permission then specify that location as parameter for "autoupdate" function and "grabContacts" function(refer above for passing parameter).

back to top

Change Domain

If you get the domain is invalid and you purchased license for that domain, then you shall follow the below steps to update your domain.

Edit/Change Domain

To edit or change your domain
  • Login to http://stescodes.com/sourceupdate.aspx
  • You shall login using email and password which you received in email during purchase or you shall use the StesCodes transaction id
  • Once you login, click the edit link near website
  • Enter the domain details
  • Click "proceed" to save.
back to top
HOME | TERMS OF SERVICE | PRODUCT | CONTACT US | PRIVACY POLICY | FAQ | SITE MAP
Copyright 2011 stescodes.com