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.
- Email
- Name
- Address
- Phone
|
|
|
OAuth method
|
|
To start grabbing contacts using OAuth Method, you have to make request to three functions
- GetAuthenticationUrl
- GetAccessToken
- 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.
- Token
- TokenSecret
- UID
- AuthURL
|
|
|
|
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.
- Token
- TokenSecret
- UID
- AuthURL
|
|
|
|
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.
- Email
- Name
- Address
- Phone
|
|
|
Debugging
|
|
Debugging Gmail:
- Create API key with the localhost url as return url(when going live, change the return url to live url)
- Replace the api key and secret key in web.config file
- Replace the already provided localhost url in oauth.aspx.cs file
- Then try with breakpoints to debug
|
|
Debugging Yahoo:
- Create API key with the localhost url as return url(when going live, change the return url to live url)
- Replace the api key and secret key in web.config file
- 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
- Upload the auth.aspx page to your server.
- Do the below five steps when the user is redirected after authentication.
- 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)
- 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
- Redirect to the localhost url(for ex: Response.Redirect(http://localhost:2345/yourproject/auth.aspx?token=xxx&tokensecret=yyyy);)
- Now you will get the token in localhost for debugging.
- 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
|