<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.dotnetmafia.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Corey Roth [MVP] : SharePoint, SP2010 Beta, REST</title><link>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/SP2010+Beta/REST/default.aspx</link><description>Tags: SharePoint, SP2010 Beta, REST</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Introduction to querying lists with REST and ListData.svc in SharePoint 2010</title><link>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx</link><pubDate>Thu, 21 Jan 2010 20:04:34 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:2125</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>30</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=2125</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;What I really like about SharePoint 2010 is all of the new ways we can get at list data.&amp;#160; You can always use the Client Object Model, Linq to SharePoint, or the existing object model, but one neat new way to get at list data is with listdata.svc.&amp;#160; ListData.svc provides a way of getting information from a list (or lists using joins) using REST.&amp;#160; What you end up with is a nice RSS feed of list data, that you can consume with whatever client you would like.&amp;#160; You can construct URLs in various manners to get specific records, do joins, or perform simple queries.&amp;#160; I won’t go through everything that you can do with it today, but I’ll point you towards resources to do the more advanced things.&lt;/p&gt;  &lt;p&gt;When you are getting started, the first thing you want to do is check and see if you have ListData.svc up and running.&amp;#160; Like any SharePoint web service, it’s located in the _vti_bin folder of any existing site, so it will work with items relative to that site.&amp;#160; Here is what a typical URL might look like.&lt;/p&gt;  &lt;p&gt;http://&amp;lt;sharepoint-server&amp;gt;/_vti_bin/ListData.svc&lt;/p&gt;  &lt;p&gt;Try hitting that URL on your SharePoint 2010 server and see if it works.&amp;#160; There is a good chance that you will get a 404 error.&amp;#160; This happened to me, so I did some searching and found &lt;a href="http://blog.robgarrett.com/2010/01/05/sp2010-listdata-svc-give-404/"&gt;Rob Garret’s&lt;/a&gt; post stating to go out and install &lt;a href="http://go2.wordpress.com/?id=725X1342&amp;amp;site=robgarrett.wordpress.com&amp;amp;url=http%3A%2F%2Fwww.microsoft.com%2Fdownloads%2Fdetails.aspx%3FFamilyID%3Da71060eb-454e-4475-81a6-e9552b1034fc%26displaylang%3Den"&gt;ADO.NET Data Services 1.5 CTP 2&lt;/a&gt;.&amp;#160; There are a few choices, but I have seen others recommend you go with the runtime only.&amp;#160; I had issues installing the full package.&amp;#160; Once you have it installed, it still didn’t work for me, so I rebooted my server and everything worked fine when it booted back up.&amp;#160; My guess is you probably could just reset IIS though.&lt;/p&gt;  &lt;p&gt;Once you have a working ListData.svc, hitting it you should get results like this.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcNoParameters_1E99A13D.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ListDataSvcNoParameters" border="0" alt="ListDataSvcNoParameters" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcNoParameters_thumb_7D39FBA0.png" width="377" height="333" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You get an XML document of all lists available to be queried.&amp;#160; If you notice the &lt;em&gt;href &lt;/em&gt;on each &lt;em&gt;collection&lt;/em&gt; it gives you an idea of how you can construct subsequent URLs to get data.&amp;#160; In today’s example, we’re going to work with a simple task list.&amp;#160; We’ll look at the various ways we can get data from this list.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcTaskList_6365C571.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ListDataSvcTaskList" border="0" alt="ListDataSvcTaskList" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcTaskList_thumb_1C106F7F.png" width="437" height="132" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To get the data for this list via REST we simply just add the list name to the URL.&amp;#160; In my case the name of the list is called &lt;em&gt;Tasks&lt;/em&gt;.&amp;#160; Here is what the URL would look like.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;http://&amp;lt;sharepoint-server&amp;gt;/_vti_bin/ListData.svc/&amp;lt;ListName&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In my case:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;http://sp2010/_vti_bin/ListData.svc/Tasks&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Here is what the results look like.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcTasksAll_1BA43C8A.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ListDataSvcTasksAll" border="0" alt="ListDataSvcTasksAll" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcTasksAll_thumb_5B01F01A.png" width="389" height="394" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As you can see we get an RSS feed and this is how Internet Explorer renders it.&amp;#160; However, if we look at the actual XML of the feed, we’ll find that we get quite a bit of data back about the list.&amp;#160; Here is a snippet of the XML.&lt;/p&gt;  &lt;div style="font-family:consolas;background:black;color:white;font-size:13pt;font-weight:bold;"&gt;   &lt;p style="margin:0px;"&gt;&amp;lt;&lt;span style="color:#cc7832;"&gt;feed&lt;/span&gt; &lt;span style="color:silver;"&gt;xml:base&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://sp2010/_vti_bin/ListData.svc/&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;xmlns:d&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/ado/2007/08/dataservices&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;xmlns:m&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;xmlns&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://www.w3.org/2005/Atom&lt;/span&gt;&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;title&lt;/span&gt; &lt;span style="color:silver;"&gt;type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;text&lt;/span&gt;&amp;quot;&amp;gt;Tasks&amp;lt;/&lt;span style="color:#cc7832;"&gt;title&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;id&lt;/span&gt;&amp;gt;http://sp2010/_vti_bin/ListData.svc/Tasks&amp;lt;/&lt;span style="color:#cc7832;"&gt;id&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;updated&lt;/span&gt;&amp;gt;2010-01-21T19:21:27Z&amp;lt;/&lt;span style="color:#cc7832;"&gt;updated&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;link&lt;/span&gt; &lt;span style="color:silver;"&gt;rel&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;self&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;title&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Tasks&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;href&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Tasks&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;entry&lt;/span&gt; &lt;span style="color:silver;"&gt;m:etag&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;W/&lt;/span&gt;&lt;span style="color:silver;"&gt;&amp;amp;quot;&lt;/span&gt;&lt;span style="color:#a5c25c;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;&amp;amp;quot;&lt;/span&gt;&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;id&lt;/span&gt;&amp;gt;http://sp2010/_vti_bin/ListData.svc/Tasks(1)&amp;lt;/&lt;span style="color:#cc7832;"&gt;id&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;title&lt;/span&gt; &lt;span style="color:silver;"&gt;type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;text&lt;/span&gt;&amp;quot;&amp;gt;Test 1&amp;lt;/&lt;span style="color:#cc7832;"&gt;title&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;updated&lt;/span&gt;&amp;gt;2010-01-21T09:26:51-06:00&amp;lt;/&lt;span style="color:#cc7832;"&gt;updated&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;author&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;name&lt;/span&gt; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;span style="color:#cc7832;"&gt;author&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;link&lt;/span&gt; &lt;span style="color:silver;"&gt;rel&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;edit&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;title&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;TasksItem&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;href&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Tasks(1)&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;link&lt;/span&gt; &lt;span style="color:silver;"&gt;rel&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/related/Attachments&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;application/atom+xml;type=feed&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;title&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Attachments&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;href&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Tasks(1)/Attachments&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;link&lt;/span&gt; &lt;span style="color:silver;"&gt;rel&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/related/Predecessors&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;application/atom+xml;type=feed&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;title&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Predecessors&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;href&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Tasks(1)/Predecessors&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;link&lt;/span&gt; &lt;span style="color:silver;"&gt;rel&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/related/Priority&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;application/atom+xml;type=entry&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;title&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Priority&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;href&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Tasks(1)/Priority&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;link&lt;/span&gt; &lt;span style="color:silver;"&gt;rel&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/related/Status&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;application/atom+xml;type=entry&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;title&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Status&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;href&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Tasks(1)/Status&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;category&lt;/span&gt; &lt;span style="color:silver;"&gt;term&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Microsoft.SharePoint.DataService.TasksItem&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;scheme&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/scheme&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;content&lt;/span&gt; &lt;span style="color:silver;"&gt;type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;application/xml&lt;/span&gt;&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;m:properties&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:ID&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.Int32&lt;/span&gt;&amp;quot;&amp;gt;1&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:ID&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:ContentTypeID&lt;/span&gt;&amp;gt;0x01080085FF0E1548B7414787A693232497B24E&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:ContentTypeID&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:ContentType&lt;/span&gt;&amp;gt;Task&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:ContentType&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:Title&lt;/span&gt;&amp;gt;Test 1&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:Title&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:Modified&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.DateTime&lt;/span&gt;&amp;quot;&amp;gt;2010-01-21T09:26:51&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:Modified&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:Created&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.DateTime&lt;/span&gt;&amp;quot;&amp;gt;2010-01-21T09:26:51&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:Created&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:CreatedByID&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.Int32&lt;/span&gt;&amp;quot;&amp;gt;1&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:CreatedByID&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:ModifiedByID&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.Int32&lt;/span&gt;&amp;quot;&amp;gt;1&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:ModifiedByID&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:Owshiddenversion&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.Int32&lt;/span&gt;&amp;quot;&amp;gt;1&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:Owshiddenversion&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:Version&lt;/span&gt;&amp;gt;1.0&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:Version&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:Path&lt;/span&gt;&amp;gt;/Lists/Tasks&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:Path&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:PriorityValue&lt;/span&gt;&amp;gt;(2) Normal&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:PriorityValue&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:StatusValue&lt;/span&gt;&amp;gt;In Progress&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:StatusValue&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:Complete&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.Double&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;m:null&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;true&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:AssignedToID&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.Int32&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;m:null&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;true&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:TaskGroupID&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.Int32&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;m:null&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;true&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:Description&lt;/span&gt;&amp;gt;&lt;span style="color:silver;"&gt;&amp;amp;lt;&lt;/span&gt;div&lt;span style="color:silver;"&gt;&amp;amp;gt;&lt;/span&gt;Test 1 Task&lt;span style="color:silver;"&gt;&amp;amp;lt;&lt;/span&gt;/div&lt;span style="color:silver;"&gt;&amp;amp;gt;&lt;/span&gt;&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:Description&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:StartDate&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.DateTime&lt;/span&gt;&amp;quot;&amp;gt;2010-01-21T00:00:00&amp;lt;/&lt;span style="color:#cc7832;"&gt;d:StartDate&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;d:DueDate&lt;/span&gt; &lt;span style="color:silver;"&gt;m:type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Edm.DateTime&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;m:null&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;true&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;span style="color:#cc7832;"&gt;m:properties&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;span style="color:#cc7832;"&gt;content&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &amp;lt;/&lt;span style="color:#cc7832;"&gt;entry&lt;/span&gt;&amp;gt;&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;As you can see in the &lt;em&gt;content &lt;/em&gt;element, we can see the various site columns on a particular list item.&amp;#160; Of course, there is more we can do with REST than just view everything in a list.&amp;#160; If you want a specific item, you can use parenthesis and specify an indexer.&amp;#160; Note that it is unit-indexed, not zero-indexed.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;http://&amp;lt;sharepoint-server&amp;gt;/_vti_bin/ListData.svc/&amp;lt;ListName&amp;gt;(&amp;lt;Index&amp;gt;)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In my case:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;http://sp2010/_vti_bin/ListData.svc/Tasks(3)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;However, when you do this, Internet Explorer will give you an error that it cannot display this feed.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcTaskListIndexerIeError_3A7AB068.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ListDataSvcTaskListIndexerIeError" border="0" alt="ListDataSvcTaskListIndexerIeError" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcTaskListIndexerIeError_thumb_0C212ABB.png" width="319" height="152" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Not to worry though, if you view source, you still have a working XML document.&amp;#160; It will pretty much look like the one above minus the initial feed information.&amp;#160; You can take the query above and go one step further.&amp;#160; Say, you just want to know the status for a specific task (note that the site column is actually called StatusValue here), you can simply add it to the URL like this.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;http://&amp;lt;sharepoint-server&amp;gt;/_vti_bin/ListData.svc/&amp;lt;ListName&amp;gt;(&amp;lt;Index&amp;gt;)/(&amp;lt;Field&amp;gt;)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In my case:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;http://sp2010/_vti_bin/ListData.svc/Tasks(3)/StatusValue&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;You’ll get an even simpler XML document that looks like this.&amp;#160; It will create an element named after whichever site column you passed to it.&lt;/p&gt;  &lt;div style="font-family:consolas;background:black;color:white;font-size:13pt;font-weight:bold;"&gt;   &lt;p style="margin:0px;"&gt;&amp;lt;?&lt;span style="color:#cc7832;"&gt;xml&lt;/span&gt; &lt;span style="color:silver;"&gt;version&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;encoding&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;utf-8&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;standalone&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;yes&lt;/span&gt;&amp;quot; ?&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;lt;&lt;span style="color:#cc7832;"&gt;StatusValue&lt;/span&gt; &lt;span style="color:silver;"&gt;xmlns&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/ado/2007/08/dataservices&lt;/span&gt;&amp;quot;&amp;gt;Completed&amp;lt;/&lt;span style="color:#cc7832;"&gt;StatusValue&lt;/span&gt;&amp;gt;&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;The last thing I will cover is simple queries.&amp;#160; You can do this with $filter.&amp;#160; There are a number of operators you can use here, but the one I will start with today is &lt;em&gt;eq&lt;/em&gt; (or equals).&amp;#160; For example, say I want to see all tasks that are completed, I would use a URL like this.&amp;#160; Put any literals inside quotes.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;http://sp2010/_vti_bin/ListData.svc/Tasks?$filter=StatusValue&lt;/em&gt;&lt;em&gt; eq &amp;#39;Completed&amp;#39;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This returns results that look like this and of course the content element in the XML has the complete data on each list item returned.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcTaskListQuery_529E1AC3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ListDataSvcTaskListQuery" border="0" alt="ListDataSvcTaskListQuery" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ListDataSvcTaskListQuery_thumb_001F3A87.png" width="323" height="288" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can also use various other types of predicates, such as ne, gt, ge, lt, le, and, or, not, etc.&amp;#160; What each one does is probably pretty obvious, but if its not take a look at this &lt;a href="http://msdn.microsoft.com/en-us/library/cc907912.aspx"&gt;MSDN reference&lt;/a&gt; for more information on the various filters and parameters you can use.&amp;#160; Skip the code stuff at the begging and scroll down a bit to find the good stuff.&amp;#160; This is a good start to working with REST in SharePoint, but this really is just the tip of it.&amp;#160; What you are learning here isn’t really just specific to SharePoint but it applies to anything you do with ADO.NET Data Services, so it might be useful elsewhere later.&lt;/p&gt;  &lt;p&gt;One thing I will point out is that I was not able to use this with an external list.&amp;#160; I am guessing this is by design (which sucks), but it doesn’t look like it’s going to work.&amp;#160; Of course, my install could just be broken or this could be subject to change.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=2125" width="1" height="1"&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/REST/default.aspx">REST</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item></channel></rss>