Collage-a-gogo met de MSN Live Search API
Het wordt een algemene tendens dat grote softwarehuizen en online diensten eigen API’s publiceren voor ontwikkelaars, kijk maar naar Yahoo, Amazon, Flickr en natuurlijk Google. Het komt er dus op neer dat er verder gekeken wordt dan de standaard web-gebruiker, de developer wordt nu ook maximaal voorzien van krachtige, goed werkende API’s voor een scala aan platformen en programmeertalen waardoor online diensten steeds makkelijker te benaderen zijn binnen third-party software, dit kunnen we alleen toejuichen.
Enkele jaren terug zag ik een leuk projectje genaamd Montage-a-Google, nu heb ik als kleine test een soortgelijk (maar beperkter) programma’tje geschreven dat de MSN Live Search API gebruikt. Op een uurtje was de klus geklaard, hier zie je Collage-a-gogo in werking:
Wil je zelf ééntje maken, dan kan je hier zowel de broncode als het programma downloaden (in de bin/release map…).
Om zelf aan de slag te gaan met de MSN Live Search webservice heb je nodig:
- Visual Studio 2005/2008 (eventueel de gratis Express-edition)
- Een developer-id, makkelijk, snel en vooral gratis te verkrijgen hier.
Allereerst maken we een nieuw project aan binnen Visual Studio 200x, ik heb een Winforms applicatie (2.0) opgezet maar je kan evengoed een ASP.NET of WPF applicatie aanmaken.
Hierna voegen we de referentie naar de Live Search Webservice (http://soap.search.msn.com/webservices.asmx?wsdl) toe door rechts te klikken op je solution en “Add web reference” te kiezen, vervolgens geef je het adres in en druk je OK.
Zo, het zware werk is voorbij, je kan nu van start met de webservice, hieronder staat wat voorbeeldcode om een afbeelding te zoeken, meer sample code is te vinden op de officiële pagina van de Live webservice. Belangrijk om weten is dat je niet enkel op het web kan zoeken, maar ook afbeeldingen, video, adressen en telefoonnummers (in de States), ….
{
try
{
SearchRequest searchRequest = new SearchRequest();searchRequest.Query = keyword;
// Replace with your own developer ID from http://search.live.com/developer
searchRequest.AppID = “***************”;
searchRequest.CultureInfo = “en-US”;
SourceRequest[] sourceRequest = new SourceRequest[1];
sourceRequest[0] = new SourceRequest();
sourceRequest[0].Offset = offset;
sourceRequest[0].Count = howMuch;
sourceRequest[0].Source = SourceType.Image;
sourceRequest[0].ResultFields = ResultFieldMask.Image;
searchRequest.Requests = sourceRequest;
_msnSearchService.SearchAsync(searchRequest);
}
catch (SoapException ex)
{
MessageBox.Show(
“Oops! Something went wrong while querying for images, the following error occured : ” + ex,
“Error while querying…”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Veel plezier ermee!

[...] Edit - May 10th 2008 : If you are building a similar application you might want to look at the MSN Live Search API’s to do this, it’s easier, faster and more stable than the old Google Image Search API I used here, which was written by someone at codeproject. You can read my post which contains some sample code etc. here. [...]