cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
MelissaReed
Advocate II
Advocate II

Need example of using Send HTTP Request to Sharepoint to update a single Person column with (1) single person's value in a LIBRARY.

I have a Sharepoint Library with a Person column "Process Owner".   ONE person only.

I have an Instant Workflow on that library that collects Process Owner Name at runtime.

 

How can I use the HTTP / POST  (or PATCH) to accomplish this?

 

 

I've tried various forms of PATCH, POST...  based on other sites/articles.  Nothing works.   For example

MelissaReed_1-1613110318948.png

results in this error: A type named 'SP.Data.VBPM_x0020_Process_x0020_DraftsListItem' could not be resolved by the model. When a model is available, each type name must resolve to a valid type.

 

MelissaReed_2-1613110936561.png

didn't throw an error.  It appeared to complete successfully, but did not actually update anything. 

The parameter entered gets plugged into HTTP call to "getByEmail" and returns a numeric value  which I store in ProcessOwnerID, used as the value above.

Thanks in advance for any guidance.

(I cannot use Update Library Properties action because of the MS limit on # lookups )

1 ACCEPTED SOLUTION

Accepted Solutions

@MelissaReed  in addition to inputs from @Expiscornovus  you can change the header odata=nometadata, to make the payload simple, example below

 

annajhaveri_0-1613127959201.png

 

 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

View solution in original post

7 REPLIES 7
Expiscornovus
Dual Super User
Dual Super User

Hi @MelissaReed,

 

Below is an example which should work. In my example I am using a POST request and the SharePoint User Id of the current site like described in this link:

https://sharepoint.stackexchange.com/questions/174979/update-person-or-group-field-using-rest-api-in...

 

Btw, I am also using a LibraryItem type because I assume you are using a Document Library and not a List?

 

 

{
  "__metadata": {
    "type": "SP.Data.VBPM_x0020_Draft_x0020_Process_x0020_LibraryItem"
  },
  "ProcessOwnerId": 12   
  }

 

 

userid_updatelibraryitem.png

@MelissaReed  in addition to inputs from @Expiscornovus  you can change the header odata=nometadata, to make the payload simple, example below

 

annajhaveri_0-1613127959201.png

 

 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.
Expiscornovus
Dual Super User
Dual Super User

Thanks @annajhaveri. I keep forgetting that with nometadata it's even easier 🙂

MelissaReed
Advocate II
Advocate II

Thanks @annajhaveri and @Expiscornovus  for speedy replies. 

YES, @Expiscornovus -- it is a Library I'm working with.  Good catch on that detail I overlooked including!

I like "simpler" so I tried @annajhaveri "nometadata" first but couldn't get it to work.

MelissaReed_0-1613135155832.png

Tried it with/without quotes, both blew errors --  "A 'PrimitiveValue' node with non-null value was found...." 

What am I missing here?  @annajhaveri your example does not mention "librarylist" but maybe the answer lies within the detail of the pink "body()" variable I can't see the details of on your screenshot.   

 

 

@MelissaReed in the body parameter provide the column name as "Process_x0020_OwnerId"

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.
MelissaReed
Advocate II
Advocate II

@annajhaveri DUH -- thanks for the catch on the missing "Id" .   It WORKED.

And note to the wise, it is case-sensitive -- you must use "Id" and not "ID".

For others' reference, here is the HTTP call that successfully updated my two Person fields on my library:

MelissaReed_3-1613141873778.png

 

I wanted to show how column names with spaces are represented in this context (most examples don't show it and it's never made sense to me whether to use %20, _x0020_, put the literal name in quotes or drop the spaces and smash them together.  

 

I struggled with this for HOURS and probably came within a quotemark of hitting on the right syntax, but am so grateful to both of you @Expiscornovus  and @annajhaveri for your help.   I will tag @annajhaveri with the solution since it was her nometadata option I'm going with.  But @Expiscornovus  it was an earlier HTTP post you were helping someone out with that put me on this track to begin with.    Thank you both!  

 

 

 

 

 

 

@MelissaReed  thank you. One more tip, Process_x0020_OwnerId is the internal name of the column. In order to get internal name of any column, in google chrome browser, open the SharePoint list, go to list settings and click on the column, then look at the browser URL, you will see URL ending with Field=<somevalue>, that will be the internal name of the column, e.g. if it is Field=Title in the browser url, then Title is the internal name of the column. I hope that makes sense.

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

Helpful resources

Announcements
MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

PA Survey Carousel Image.png

We want to hear from you!

If you are a small business ISV/Reseller, share your thoughts with our research team.

Users online (1,121)