Search code examples
angularjsrestazuresharepointhttp-status-code-403

Retrieve a Sharepoint List with Angular JS


I have created an Angular JS application which would output a list of data in a Share Point list. I am trying to make a rest API call to my Share Point List to get the data, however I am unable to do it as I get an error 403 Forbidden.

Below is my controller which tries to fetch the data.

app.controller('RetrieveRecords', function ($q, $http, $scope) {
  var url = "https://testapp.sharepoint.com/sites/testmyapplication/_api/web/lists/getByTitl 
  e('TestAppList')/items?$select=Status,Time";

$http(
{
   method: "GET",
   url: url,
   headers: { "accept": "application/json;odata=verbose" }
}
).success(function (data, status, headers, config) {
  $scope.details = data.d.results;

}).error(function (data, status, headers, config) {
});
});

My Angular JS application is not a Share Point page, my application is basically hosted as a Azure Static Website. I checked some online tutorials, however I couldn't find a solution to the problem I am facing.

Thank you.


Solution

  • @John,

    You have to supply digest within the header.

    You will find the necessary value in the element called '__REQUESTDIGEST'. So with jQuery you can get the value like this: $('#__REQUESTDIGEST').val().

    This value needs to be added to the header:

    headers: { "Accept": "application/json;odata=verbose", "X-RequestDigest": $('#__REQUESTDIGEST').val() }

    can you try adding this tag and see if it works.

    Hope it helps.

    MV