1
Answer

Read List Item With SharePoint REST API Using Postman Tool

Photo of Saravanan Ponnusamy

Saravanan Ponnusamy

Oct 26
526
1

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. 

Answers (1)

0
Photo of Jayraj Chhaya
309 6k 94.2k Oct 28

The issue you are experiencing, where the API returns an empty array for list items, is likely due to insufficient permissions. While you can access the list's metadata (like ItemCount), the user or application making the API call must have explicit permissions to read the items within the list.

To resolve this, ensure that the user or application has at least "Read" permissions on the list items. Here are the steps to check and modify permissions:

  1. Check User Permissions: Verify that the user or application is granted at least "Read" access to the list items.
  2. API Permissions: Navigate to the Azure portal and check the API permissions for your application. You may need to add permissions such as:
    • Delegated PermissionsSites.Read.All or Sites.ReadWrite.All
    • Application PermissionsSites.Read.All or Sites.ReadWrite.All

After adjusting the permissions, try your API call again. This should allow you to retrieve the list items successfully. Remember, permissions for accessing list items differ from those for viewing list properties, which is a common oversight in many tutorials.