BoondocꓘKiᗡ
BoondocꓘKiᗡ

Reputation: 21

How do I insert into a user column in a SharePoint list using Graph API?

I am trying to create an item in a SharePoint list using Microsoft Graph API and all the fields are inserting except when I add a user column I get the following error:

"code": "generalException",
"message": "General exception while processing".

Based on research, to insert into a user column the user's LookupId is required. My request body for the user column is as follows:

{
    "fields": {
        "[ColumnName]LookupId": "12"
    }
}

If anybody could advise what I'm doing wrong or if I can insert using the user's email that would be better.

Cheers.

Upvotes: 0

Views: 772

Answers (1)

kadis
kadis

Reputation: 346

Everything is good with your request, but this body will work only for lookup/user columns where setting "Allow multiple selections" is false. I guess in your case it's true. You can check it with the endpoint

GET https://graph.microsoft.com/v1.0/sites/{{SiteId}}/lists/{{ListName}}/contentTypes?expand=columns(select=name,type,personOrGroup)

where personOrGroup.allowMultipleSelection will show the flag.

For user or lookup type column where multiple selection is allowed, use the following body (and obviously you may pass multiple values in array):

{
    "fields": {
        "[columnName][email protected]":"Collection(Edm.String)",
        "[columnName]LookupId":["12"] 
    }
}

As for referring to user fields with email, I don't think it's possible with Graph API, but you may check Sharepoint REST API v1 if it supports that

Upvotes: 1

Related Questions