Im using CloverETL to connec to SharePoint using REST API.

my team is trying to get the List items in SharePoint using REST api. we are using the CloverETL tool using the REST api URL of the list and the credentials in SharePoint which has full control. Below is the rest command that we used.
/_api/web/lists/getbytitle('title of list')/items 
when viewing this URL on the same Internet explorer with a user log on to sharepoint the XML of the list is successfully showing. but when we try to load it on the CloverETL tool using the same SharePoint credentials it says access is denied. Also when viewing
the URL to a browser with no other SharePoint sites open it also says access is denied. 

how is the webapp configured, as far as authentication?
Scott Brickey
MCTS, MCPD, MCITP
www.sbrickey.com
Strategic Data Systems - for all your SharePoint needs

Similar Messages

  • Sharepoint 2013 REST API calls with JASONP support

    We are working on sharepoint online integration with PHP Based application. We need to provide REST API call which supports JSONP.
    So is it possible to create new REST API Endpoints in Sharepoint online APP? Please sugggest right direction.

    Hi,
    In Office 365 (aka SharePoint Online), you can simply consume the SharePoint data through REST API or WS call,but cannot create your own endpoint.
    By default you can get the JSON response from the Office 365 REST API,its upto you to use the JSONP on your client compatibility not on SharePoint online REST API.
    Sometime before I tried, It didn't work for me.
    If you develop the AppModel, SPRequestor.js does the same job(overcome the Cross domain restriction) the what JSONP does.
    Murugesa Pandian| MCPD | MCTS |SharePoint 2010

  • HTTP 403 while using SharePoint Online REST API anonymously

    Hey Team,
    While using REST API to get list items (SharePoint Online) anonymously, I am getting HTTP 403 error:
    Request: http://server/site/_api/web/lists('guid')/items?$select=Title,Products/Name&$expand=Products/Name
    Response: HTTP 403 : System.UnauthorizedAccessException : Access denied. You do not have permission to perform this action or access this resource.
    Authenticated users do not face this issue. The list has anonymous access (View) enabled. Anonymous users can access the lists without facing any issue.
    I am not sure and could not able to find any link that says anonymous users can't use REST API to get SPListItems. Any input in this regard will be highly appreciated.
    Regards,
    Sanjay
    Either you love IT or leave IT

    Hi,
    From this documentation from MSDN about
    Reading data with REST, “Note that you cannot obtain an access token from code that is running on a browser client. You must obtain the access token from code that is running
    on a server”, it will only allow the authenticated users who has an access token to access the REST API.
    The two links below will provide more information about authentication in SharePoint 2013:
    http://msdn.microsoft.com/en-us/library/fp142382.aspx
    http://msdn.microsoft.com/en-us/library/jj687470.aspx
    Thanks
    Patrick Liang
    Forum Support
    Please remember to mark the replies as answers if they
    help and unmark them if they provide no help. If you have feedback for TechNet
    Subscriber Support, contact [email protected]
    Patrick Liang
    TechNet Community Support

  • Best approach for uploading document using custom web part-Client OM or REST API

    Hi,
     Am using my custom upload Visual web part for uploading documents in my document library with a lot of metadata.
    This columns contain single line of text, dropdownlist, lookup columns and managed metadata columns[taxonomy] also.
    so, would like to know which is the best approach for uploading.
    curretnly I am  trying to use the traditional SSOM, server oject model.Would like to know which is the best approach for uploading files into doclibs.
    I am having hundreds of sub sites with 30+ doc libs within those sub sites. Currently  its taking few minutes to upload the  files in my dev env. am just wondering, what would happen if  the no of subsites reaches hundred!
    am looking from the performance perspective.
    my thought process is :
    1) Implement Client OM
    2) REST API
    Has anyone tried these approaches before, and which approach provides better  performance.
    if anyone has sample source code or links, pls provide the same 
    and if there any restrictions on the size of the file  uploaded?
    any suggestions are appreciated!

    Try below:
    http://blogs.msdn.com/b/sridhara/archive/2010/03/12/uploading-files-using-client-object-model-in-sharepoint-2010.aspx
    http://stackoverflow.com/questions/9847935/upload-a-document-to-a-sharepoint-list-from-client-side-object-model
    http://www.codeproject.com/Articles/103503/How-to-upload-download-a-document-in-SharePoint
    public void UploadDocument(string siteURL, string documentListName,
    string documentListURL, string documentName,
    byte[] documentStream)
    using (ClientContext clientContext = new ClientContext(siteURL))
    //Get Document List
    List documentsList = clientContext.Web.Lists.GetByTitle(documentListName);
    var fileCreationInformation = new FileCreationInformation();
    //Assign to content byte[] i.e. documentStream
    fileCreationInformation.Content = documentStream;
    //Allow owerwrite of document
    fileCreationInformation.Overwrite = true;
    //Upload URL
    fileCreationInformation.Url = siteURL + documentListURL + documentName;
    Microsoft.SharePoint.Client.File uploadFile = documentsList.RootFolder.Files.Add(
    fileCreationInformation);
    //Update the metadata for a field having name "DocType"
    uploadFile.ListItemAllFields["DocType"] = "Favourites";
    uploadFile.ListItemAllFields.Update();
    clientContext.ExecuteQuery();
    If this helped you resolve your issue, please mark it Answered

  • SharePoint 2010 Rest API: How to add attachment to a list item via ListData.svc

    Hi
    I have set up a project using the REST API in c# Visual Studio 2010.
    I have added a service reference to the URL //site/_vti_bin/listdata.svc/
    I can query the list and get back data, but I can't retrieve the attachments.
    I can write data to the list, but I can't add attachments.
    Are there any examples of how to add or retrieve attachments using the REST API services.
    Thanks
    Mike

    Hi,                                                             
    If you want to work with list attachments using REST API, here are some links will show how to do this using Javascript:
    http://msdn.microsoft.com/en-us/library/office/dn292553.aspx#FileAttachments
    http://chuvash.eu/2013/02/20/rest-api-add-a-plain-text-file-as-an-attachment-to-a-list-item/
    http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2013/06/27/how-to-get-list-item-attachments-using-rest-and-javascript-in-sharepoint-2013.aspx
    Best regards
    Patrick Liang
    TechNet Community Support

  • Trying to Access SharePoint 2013 Rest Api in HTML page but getting Mime Type Exception with Status Success

    I am trying to invoke the SharePoint Rest Api using HTML page. I have included the Access Control Allow Origin to the web.config file. I am getting Readty State 4 and
    Status Success but still I am getting the below error.
    Refused to execute script from 'http://<server>/_api//web/lists?callback=jQuery172045857910416089_1430217181282&_=1430217363882' because its MIME
    type ('application/atom+xml') is not executable, and strict MIME type checking is enabled.
        <script>
            $(document).ready(function () {
                $("#KMPDiscussions").click(function () {
                    //$.support.cors = true;
                    $.ajax({
                        url: "http://<server>/_api//web/lists",
                        dataType: "jsonp",
                        type: "GET",
                        method: "GET",
                        contentType: "application/javascript",
                        headers: {
                            "content-type":
    "application/json;odata=verbose",
                            "accept": "application/json;odata=verbose",
                        success: function onSuccess(data) {
                            alert("Inside Alert");
                        error: function onError(data){
                            alert("Error: "
    + data);
        </script>
    It always hits the error on callback.
    Is there any other way that I can invoke SharePoint Rest Api from a Cross Domain. Please Help.

    Hi Chris,
    Thanks for the reply,Here iam using different files to be uploaded in library.
    please find the below snapshot of json response and ULS logs.
    12/22/2013 18:31:15.02 w3wp.exe (0x3338) 0x401C SharePoint Foundation Files 
    abq2i High Could not get DocumentContent row: 0x80004005. 79f7629c-4694-c026-
    3349-2049178ee919
    12/22/2013 18:31:15.02 w3wp.exe (0x3338) 0x401C SharePoint Foundation Files 
    aiv4w Medium Spent 0 ms to bind -1 byte file stream 79f7629c-4694-c026-3349-
    2049178ee919 
    12/22/2013 18:31:15.02 w3wp.exe (0x3338) 0x401C SharePoint Foundation Files 
    aise3 Medium Failure when fetching document. 0x80070012 79f7629c-4694-c026-
    3349-2049178ee919
    12/22/2013 18:31:15.39 w3wp.exe (0x3338) 0x0D4C SharePoint Foundation 
    Database ab1a9 High Failed to get document content data.
    System.ComponentModel.Win32Exception (0x80004005): Cannot complete this function     at
    Microsoft.SharePoint.SPSqlClient.GetDocumentContentRow(Int32 rowOrd, Object
    ospFileStmMgr, SPDocumentBindRequest& dbreq, SPDocumentBindResults& dbres) 
    79f7629c-76ab-c026-3349-2c9132b13e9a
    12/22/2013 18:31:15.39 w3wp.exe (0x3338) 0x4184 SharePoint Foundation 
    Database ab1a9 High Failed to get document content data.
    System.ComponentModel.Win32Exception (0x80004005): Cannot complete this function     at
    Microsoft.SharePoint.SPSqlClient.GetDocumentContentRow(Int32 rowOrd, Object
    ospFileStmMgr, SPDocumentBindRequest& dbreq, SPDocumentBindResults& dbres) 
    79f7629c-76ab-c026-3349-281167b6cd09
    Thanks again,
    Naresh.

  • Sharepoint break REST API connection (anonymous), possible bug in sharepoint

    Hello, I have following problem when I test Rest API using fiddler :
    As i see, server just close connection and does not return any status code at all. I expect to see at least 401 or 500 exception. Is that SharePoint
    bug, or this is expected behavior of the SharePoint? (according HTTP protocol & according SharePoint Rest API )
    Web application settings and site collection settings:

    Hi,
    Can you access the site from browser?
    If you can, would you mind providing more details about how you execute your request? Anonymous or with credential?
    How about setting the “Anonymous Access” to “Anonymous users can access Entire Web site”? It would allow anonymous users access the site.
    Feel free to reply if the issue still exists.
    Best regards
    Patrick Liang
    TechNet Community Support

  • POST to SharePoint Online REST API - 405 Method Not Allowed

    Good afternoon,
    I am writing C# with the intention of uploading a file to a document library using the REST API.
    The code must run on an on-premise machine and the target SharePoint site is in SharePoint Online (Office 365 E-plan).  It has to handle large files, so CSOM is not an option.
    I have successfully tested a few different "get" messages, so I believe the authentication part is working.  However, so far I have no such luck with POST.
    In fiddler, my most recent attempt looks like this (I redacted the parts in <> because I'm not sure if they are sensitive somehow):
    POST http://org.sharepoint.com/sites/site/_api/web/GetFolderByServerRelativeUrl('Documents')/Files/add(url='test2.txt',overwrite=true) HTTP/1.1
    Accept: application/json;odata=verbose
    X-RequestDigest: <digest value>,15 Jan 2014 17:48:49 -0000
    BinaryStringRequestBody: true
    Host: org.sharepoint.com
    Content-Length: 6
    Expect: 100-continue
    stuff!
    Seems like it should work, but the result is "301 Moved Permanently."  This request is immediately followed by this one: 
    GET https://org.sharepoint.com/sites/site/_api/web/GetFolderByServerRelativeUrl('Documents')/Files/add(url='test2.txt',overwrite=true) HTTP/1.1
    Accept: application/json;odata=verbose
    X-RequestDigest: <formdigest>,15 Jan 2014 18:01:51 -0000
    BinaryStringRequestBody: true
    Host: org.sharepoint.com
    Cookie: FedAuth=<cookiestuff>; rtFA=<cookiestuff>
    Response:
    HTTP/1.1 405 Method Not Allowed
    Cache-Control: private, max-age=0
    Transfer-Encoding: chunked
    Content-Type: application/json;odata=verbose;charset=utf-8
    Expires: Tue, 31 Dec 2013 18:01:52 GMT
    Last-Modified: Wed, 15 Jan 2014 18:01:52 GMT
    Server: Microsoft-IIS/7.5
    X-SharePointHealthScore: 0
    X-SP-SERVERSTATE: ReadOnly=0
    SPClientServiceRequestDuration: 25
    X-AspNet-Version: 4.0.30319
    SPRequestGuid: dd936a9c-f4fc-a05d-27e1-2c948f0eb575
    request-id: dd936a9c-f4fc-a05d-27e1-2c948f0eb575
    X-FRAME-OPTIONS: SAMEORIGIN
    X-Powered-By: ASP.NET
    MicrosoftSharePointTeamServices: 16.0.0.2308
    X-Content-Type-Options: nosniff
    X-MS-InvokeApp: 1; RequireReadOnly
    P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"
    Date: Wed, 15 Jan 2014 18:01:51 GMT
    128
    {"error":{"code":"-1, Microsoft.SharePoint.Client.ClientServiceException","message":{"lang":"en-US","value":"The HTTP method 'GET' cannot be used to access the resource 'Add'. The operation type of the resource is specified as 'Default'. Please use correct HTTP method to invoke the resource."}}}
    0
    So it looks to me as if my request is being redirected to the same address but with a "GET" method rather than "POST," resulting in the 405 Method Not Allowed error because "add" needs POST.
    I appreciate any insight you can offer.

    Mkay, perhaps I should rephrase:  
    I want to synchronize a SharePoint Online library with a local file share.  There are a large quantity of files, and many of them are large (actually it's all too large to fit in one SharePoint Online site collection due to the 100gb limit, but I'll
    deal with that separately).
    The approach I was working on here was to create a C# method basically like this:  UploadFile(File, Destination, username, password).  I would use this method in the script component of an SSIS package which would run on a server and push the files
    up to SPO, but right now I'm just testing it as a console application.
    I got the CSOM methods working, but obviously that won't work because the files are too large.  Above is what's happening with the REST version.
    Can anyone see what's wrong with my REST calls - why is it being redirected as a GET request?  Is this even possible?

  • SharePoint 2010 REST API, User SiteColumn not coming

    When Create User sitecolumn from front end(using default SharePoint Setting area) and then fetch list through REST API then it comes parfactly but
    When I create User sitecolumn's xml from Visual Studio and then add that sitecolumn in contenttype and then in list and then fact list through REST API then it does come in api xml.

    Hi Manish<o:p></o:p>
     <o:p></o:p>
    I can understand your issue, but not sure what could be the reason behind this behavior. To help you resolve the issue, we will need troubleshooting to be done at your end. I would request you
    to open a support ticket with Microsoft to help us resolve your issue as quickly as possible.
    For more information about Microsoft Support please read the article http://support.microsoft.com/gp/proffaq/en-gb
     <o:p></o:p>
    Thanks,
    Bharat Rathod, <u1:p></u1:p><o:p></o:p>
    Microsoft Online Community Support<u1:p></u1:p><o:p></o:p>

  • SharePoint 2013 REST API with C# - Mapping HTTP verbs to data operations - Requesting FormDigest

    SharePoint REST interface maps HTTP verbs to data operations. Endpoints that represent
    Read operations map to HTTP
    GET commands. Endpoints that represent update operations map to HTTP
    POST commands, and endpoints that represent update or insert operations map to HTTP
    PUT commands (Ref:
    How to: Complete basic operations using SharePoint 2013 REST endpoints).
    Is this mapping of HTTP verbs to CRUD operations a design paradigm or whether there are other technical reasons to this mapping
    Is is possible to use a GET command for say an update operation or a POST for say a read operation.If so, what consideration make the choice of either usage
    In the code snippet below FormDigest is requested as POST, why not use GET here?
    private static string GetFormDigest(string webUrl)
    //Validate input
    if (String.IsNullOrEmpty(webUrl) || String.IsNullOrWhiteSpace(webUrl))
    return String.Empty;
    //Create REST Request
    Uri uri = new Uri(webUrl + "/_api/contextinfo");
    HttpWebRequest restRequest = (HttpWebRequest)WebRequest.Create(uri);
    restRequest.Credentials = CredentialCache.DefaultCredentials;
    restRequest.Method = "POST";
    restRequest.ContentLength = 0;
    //Retrieve Response
    HttpWebResponse restResponse = (HttpWebResponse)restRequest.GetResponse();
    XDocument atomDoc = XDocument.Load(restResponse.GetResponseStream());
    XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
    //Extract Form Digest
    return atomDoc.Descendants(d + "FormDigestValue").First().Value;
    Thanks - Abhishek

    Many SharePoint REST api methods use parameters. It is much more efficient to post parameters than use query string variables.  Many times complex types are sent and these require json notation objects posted in the body. In the case of "_api/contextinfo,
    it is recommended to use POST rather than a GET when using sensitive data. GET responses can be cached. Since you are getting a security token back in that call it is recommended to use a POST.
    http://blog.teamtreehouse.com/the-definitive-guide-to-get-vs-post
    Blog | SharePoint Field Notes Dev Tools |
    SPFastDeploy | SPRemoteAPIExplorer

  • Call an Non-SharePoint Secured RESTful API from a Workflow in a SharePoint Online Tenant

    I have a scenario where I need to be able to make calls to a secured web service from a SharePoint 2013 workflow that will be deployed in a SharePoint Online (Office 365) environment. It is a REST web service that is secured in a 2-legged OAuth-like manner
    (the service expects a hash of the data being sent that can then be validated on the service's end of the communication). The problem is, I can't figure out how I can hash the data, since I can't run any server-side code in the SharePoint Online environment.
    The way I figured this should work is 1) user creates an item in a List on the SharePoint Site, which kicks off the workflow process. 2) the workflow process takes the user data and hashes it using a client secret assigned by the web service. 3) the
    workflow creates a web request to the web service, passing the data and the hashed values. 4) the web service processes the input and returns. 5) the workflow continues to the next step.
    I can't figure out how to implement step 2 in that process. I thought I could do a custom workflow activity that would accomplish it, but since it would pretty much have to be a code-based activity (i.e., not declarative), it can't be deployed in SharePoint
    Online, according to the domentation I've found. I could potentially add a third layer in the process and have an auto-hosted app that I could call to do the hashing of the data, but that seems to defeat the purpose somewhat from a security perspective.
    Has anyone else run into this kind of scenario? Doing this in an on-premesis environment would be easy, but that's not really an option.
    Thanks!

    You should implement this by passing the values to a public (forms based auth) web method (secure over SSL) that does the hash for you and returns the value to your workflow so that it can pass it on to the other service.
    Chris Givens CEO, Architecting Connected Systems
    Blog Twitter

  • SharePoint 2013 Rest Api - How to get List Items

     
    Can anyone let me know why the below method fails? I am not getting where i am making mistake. Please help
    function getListItems(term) {
                var caml = "<View><Query><Where><BeginsWith><FieldRef Name=Title/><Value Type='Text'>" + term + "</Value></BeginsWith></Where></Query></View>";
                var requestData = { "query": { "__metadata": { "type": "SP.CamlQuery" }, "ViewXml": caml } };
                $.ajax({
                    url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/Lists/getbytitle('SampleList')/Getitems",
                    method: "POST",
                    data:requestData,
                    headers: {
                        "accept": "application/json; odata=verbose",
                        "content-type": "application/json; odata=verbose"
                    success: function (data) {
                        $("#countItem").html("Pass");
                    error: function (data) {
                        $("#countItem").html("Fail");
    Below is the responseText (log)
    "{\"error\":{\"code\":\"-1, Microsoft.SharePoint.Client.ClientServiceException\",\"message\":{\"lang\":\"en-US\",\"value\":\"The HTTP method \'GET\' cannot be used to access
    the resource \'GetItems\'. The operation type of the resource is specified as \'Default\'. Please use correct HTTP method to invoke the resource.\"}}}"
    Navaneeth

    Finally executed successfully using below code. The learning is we need to use  type:"POST" instead of method:"POST"
     function getListItems(term) {
                var urltest = _spPageContextInfo.webAbsoluteUrl + "/_api/Web/lists/getByTitle('SampleList')/getitems(<Query><Where><BeginsWith><FieldRef">query=@v1)?@v1={\"ViewXml\":\"<View><Query><Where><BeginsWith><FieldRef
    Name='Title'/><Value Type='Text'>" + term + "</Value></BeginsWith></Where></Query><RowLimit>1</RowLimit></View>\"}";
                $.ajax({
                    url: urltest,
                    type: "POST",
                    headers: {
                        "X-RequestDigest": $("#__REQUESTDIGEST").val(),
                        "Accept": "application/json; odata=verbose",
                        "Content-Type": "application/json; odata=verbose"
                    contentType: 'application/json',
                    success: function (data) {
                        if (data.d.results.length != 1) {
                            $("#countItem").html("Pass");
                            $("#" + term).parent().parent().prop('disabled', true);
                            $("#" + term).removeAttr("onclick");
                            $("#" + term).css('cursor', 'default');
                            $("#" + term).parent().unbind("mouseenter mouseleave");
                    error: function (data) {
                        $("#countItem").html(urltest);
    Navaneeth

  • Sharepoint angulr REST API update file item userd field property

    Hi All,
    I'm working on a project using SharePoint with angular to upload files to document library, for now every thins is working fine and good but when updating the related item fields I was using JSOM its work but it increase the version # of the file which is
    not acceptable to the client I found a solution to update the fields using REST without increasing the version # but the problem am facing now updating a user field it does not take the value it go to the success function but the field not set
    here's my code
     $scope.updateMetadataNoVersion=function(fileUrl) {
        var fld=$scope.SelectedFolder.replace(_spPageContextInfo.siteAbsoluteUrl, "");
           var restSource ="";
            if(fld.replace("lists/DepartmentDocuments","")=="")
           restSource = currentWeb.get_url() + "/_api/web/lists/getbytitle('DepartmentDocuments')/rootfolder/files/getbyurl(url='" + fileUrl + "')/listitemallfields/validateupdatelistitem";
    else
           restSource =  currentWeb.get_url() + "/_api/web/getfolderbyserverrelativeurl('"+fld+"')/files/getbyurl(url='" + fileUrl + "')/listitemallfields/validateupdatelistitem";
            var dfd = $.Deferred();
            $.ajax(
                'url': restSource,
                'method': 'POST',
                 'data': JSON.stringify({
                    'formValues': [
                        '__metadata': { 'type': 'SP.ListItemFormUpdateValue' },
                        'FieldName': 'ShareWith',
                        'FieldValue': '24'
                    'bNewDocumentUpdate': true,
                    'checkInComment': ''
                'headers': {
                    'accept': 'application/json;odata=verbose',
                    'content-type': 'application/json;odata=verbose',
                    'X-RequestDigest': $('#__REQUESTDIGEST').val()
                'success': function (data) {
                    var d = data;
                    dfd.resolve(d);
                'error': function (err) {
                    dfd.reject(err);
                    console.log(err);
            return dfd.promise;
    any help please im search about this since 3 days with no success
    Thanx in advance
    khatib7

    Yes, your correct. The validateupdatelistitem method does not work with Lookup values. You will have to use the standard way of updating the list item via REST but it will increment the version. I agree with you that many customers want to upload files and
    set data without creating 2 versions.  This is how SharePoint upload works. However, the only way to do this with REST is to use the validateupdatelistitem method.
    You can make a request for this to be added to SharePoint at User Voice:
    http://officespdev.uservoice.com/
    Blog | SharePoint Field Notes Dev Tools |
    SPFastDeploy | SPRemoteAPIExplorer

  • SharePoint 2013 Rest API - How to get the item count with startsWith

    Hi All,
    I am using the below url to get the item count for specfied startsWith. For example I want to know how many items are there in the list which starts with "A". When i hit the below url in the address bar i am getting HTTP not found.
    siteURL/sites/Apps/SharePointApp3/_vti_bin/listdata.svc/SampleList/items?$filter=startsWith(Title,’A’)
    Navaneeth

    what
    is SharePointApp3.
    here. 
    it is a webpart.
    this will not work on webpart\apps
    Also I am not sure if it will work with specific SampleList 
    Try 
    siteURL/sites/Apps/SharePointApp3/SampleList/_vti_bin/listdata.svc/Keywords?$filter=substringof('r',Title)
    If this helped you resolve your issue, please mark it Answered

  • Access excel sheet uploaded in library on sharepoint using sharepoint development

    Hi,
    I have an excel sheet which i have uploaded on sharepoint site as a library.
    now i want to access this excel sheet using sharepoint development(c#).
    Is it possible?
    I have one another query- I want to read excel sheet using sharepoint 2010 development.
    Please help to solve both issues.
    Thanks in advance!
    Regards
    rajni

    Hi rajni,
    According to your description, my understanding is that you want to access the excel files uploaded in a library and read the worksheet data by C#.
    You can read excel file using Excel Services. The Excel Services REST API is a new feature of Excel Services that enables you to access Microsoft Excel workbook data by using a uniform resource locator (URL) address. Using the REST API, you can retrieve
    resources such as ranges, charts, tables, and PivotTables from workbooks stored on SharePoint Server 2010. More inforamtion, please refer to the link below:
    http://msdn.microsoft.com/en-us/library/hh124646(v=office.14).aspx
    There are other useful links about accessing and reading excel file in library, please take a look at:
    http://www.sharepointwithattitude.com/archives/61
    http://www.c-sharpcorner.com/uploadfile/vivekbritish/how-to-downloadread-excel-file-from-sharepoint-library-using-excel-services/
    http://stackoverflow.com/questions/14496608/read-excel-file-stored-in-sharepoint-document-library
    I hope this helps.
    Thanks,
    Wendy
    Wendy Li
    TechNet Community Support

Maybe you are looking for