problem/question
I’m using the Sharepoint node to get records from a sharepoint site. The resource is “Item”, Operation is “Get Many”, I set the Site and the from list value. When I execute the step I get a list of pages instead of the list of line items that are on From List page. How can I get the items on the “From List” page instead of a list of pages? One of the list of pages is the page where the items I want are on.
The attached image shows the Site, the From List, and the items I would like to have returned in the list.
Hi @XULACS96 Welcome!
In SharePoint the page that displays your data and the list that actually stores the rows are two different objects, and your “From List” value is resolving to the site’s pages library, so “Get Many” hands back the pages instead of the line items. You need to point the node at the real list, not the page it’s shown on.
Find that list first: drop in a SharePoint node set to Resource “List”, Operation “Get Many” against the same Site and run it. That returns every actual list on the site with its name and id. Pick the one that holds your line items, then back in your “Item” > “Get Many” node set “From List” to that exact list (select it by its id if two names look alike). “Get Many” will then return the rows.
I haven’t worked with this exact SharePoint setup, but it sounds like the node might be pointing to the Site Pages library instead of the actual Microsoft List. I’d also double-check the selected list and any internal name differences. Curious to see what the correct configuration is if someone has solved this before.
Sharepoint is a pain in the butt to work with. You will probably need to use the HTTP request node to make custom API calls.
I have been working with the API recently and was not able to use the node for a lot of what I needed.
@Anshul_Namdev, to make sure I’m following you correctly,
- I created first sharepoint node with Resource as List, Operation as Get. I selected my parent site and my results are a list child sites. I get the ID of the child site I looking to get the list of items from. (I even change the operation to Get, which returned the one record for the child site I needed. the displayName appears in the next node, but it still doesn’t find the page.)
- I created next sharepoint node set Resource to List, Operation to Get Many, and Site by ID and insert the site id.
This results in an error:
The resource you are requesting could not be found [item 0]
Requested site could not be found
*********************
It seems the sharepoint node is not able to find the child node by ID. Please let me know if I misunderstood your instructions.
Hi @XULACS96
The ID you copied came from a List result, so it’s a list id, not a site id, and “Site by ID” needs an actual SharePoint site id, which is why it returns “Requested site could not be found”. That list sits on the Site you already had selected, so leave the Site alone and point an Item node at the list:
- Keep Site set to your original site (by URL or the picker), not the copied id.
- Set Resource to “Item” and Operation to “Get Many”.
- Set “From List” to the list you found, selecting it by its list id.
The list id belongs in “From List”, never in the Site field, and that returns the rows.
What I have come to realize is when using the SharePoint node, it seems each node inherits from the previous node. It took 3 nodes to get to the details of my SharePoint page. For clarity I have a SharePoint page with a list of items and each item has fields and an attachment. In my third node I was finally able to retrieve the field names and values and see the text indicator that the item has an attachment. From what I can tell, there is no way to get the item details in fewer than three nodes.
Unfortunately, n8n SharePoint nodes don’t support accessing and downloading attachments, so I will have to use HTTP Request for that.