Geeks With Blogs
Watson Jon Code and ramblings from Watson

There has been a lot of talk around OData lately (go to odata.org for more information) and I wanted to get all the videos from Mix ‘10: two great tastes that taste great together. Luckily, Mix has exposed the ‘10 sessions via OData at http://api.visitmix.com/OData.svc, now all I have to do is slap together a bit of code to fetch the videos.

Step 1

(cut a hole in the box)

Create a new console application and add a new service reference.

odata_ref

Step 2

(put your junk in the box)

Write a smidgen of code:

   1:          static void Main(string[] args)
   2:          {
   3:              var mix = new Mix.EventEntities(new Uri("http://api.visitmix.com/OData.svc"));
   4:   
   5:              var files = from f in mix.Files
   6:                          where f.TypeName == "WMV"
   7:                          select f;
   8:   
   9:              var web = new WebClient();
  10:              
  11:              var myVideos = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyVideos), "Mix10");
  12:   
  13:              Directory.CreateDirectory(myVideos);
  14:   
  15:              files.ToList().ForEach(f => {
  16:                  var fileName = new Uri(f.Url).Segments.Last();
  17:                  Console.WriteLine(f.Url);
  18:                  web.DownloadFile(f.Url, Path.Combine(myVideos, fileName));
  19:              });
  20:          }

Step 3

(have her open the box)

Compile and run.

As you can see, the client reference created for the OData service handles almost everything for me. Yeah, I know there is some batch file to download the files, but it relies on cUrl being on the machine – and I wanted an excuse to work with an OData service.

Enjoy!

Posted on Thursday, May 6, 2010 3:03 PM OData , Mix | Back to top


Comments on this post: Using OData to get Mix10 files

No comments posted yet.
Your comment:
 (will show your gravatar)


Copyright © Jon Dalberg | Powered by: GeeksWithBlogs.net