Saravanan Ponnusamy

Saravanan Ponnusamy

  • 372
  • 4.5k
  • 1.1m

Read List Item With SharePoint REST API Using Postman Tool

Oct 26 2024 3:25 PM

This maybe a long question,

So, im trying to get share point list data from Postman tool using client id and client secret. 

steps i did is,

step-1: in post man using client id, client secret, resource and accounts.accesscontrol.windows.net/7831e6d9-dc/tokens/OAuth/2? created access token successfully.

step-2: using that token in another tab postman, i hit ABC.sharepoint.com/sites/AuthorizationDev/_api/web/lists/getbytitle('DevelopmentList')/items, getting response as 
{

    "d": {

        "results": []

    }

}

mean the empty array.

but if i try to hit 'ABC.sharepoint.com/sites/AuthorizationDev/_api/web/lists/getbytitle('DevelopmentList')' , same URL without items parameter, i can see the 'ItemCount: 2'. Mean im having 2 items in the list. 

anything i have missed here?

when i ask this question with ChatGPT, it saying

The issue you're facing, where you can see that the list has 2 items (ItemCount: 2) but the API returns an empty array when querying /_api/web/lists/getbytitle('DevelopmentList')/items, is often related to one of the following factors:

1. Permissions

Even though you can access the list metadata (like item count), the user or app you're authenticating with might not have permission to read the items in the list. You need to ensure that:

  • The user or the app making the API call has at least Read permissions on the list itself.
  • Permissions for accessing list items are different from permissions to view the list's properties.

To Check Permissions:

  • Ensure the user or the application (in the case of app-only permissions) is added to the site or list and has at least Read access to the list items.

API Permissions:

  • Go to API Permissions.
  • Click Add a permission.
  • Choose SharePoint and select either Delegated Permissions (for user-context API calls) or Application Permissions (for app-only calls).
  • Common permissions:
    • Delegated Permissions:
      • Sites.Read.All: Allows the signed-in user to read all SharePoint site data they have access to.
      • Sites.ReadWrite.All: Allows the signed-in user to read and write all SharePoint site data they have access to.
    • Application Permissions:
      • Sites.Read.All: Allows the app to read all SharePoint sites in the organization.
      • Sites.ReadWrite.All: Allows the app to read and write to all SharePoint sites in the organization.

so do i really need to change the permissions to read the list items through the URL??

Becz, i have watched many youtube tutorials, all providing the same steps which i followed above, But no one spoke about Azure permissions.

pls. do the needful.

Thanks.