In reply to Steve Beakley.

Hey, Chris.... wanted to pass this along. After a lot of trial and error I was able to get metadata to update using the PATCH method as you suggested. Here's some sample code:

/* Add metadata to the file. */

filename jsonmeta "%sysfunc(getoption(WORK))/jsonmeta.json";

data _null_;
file jsonmeta;
put
'{' /
'"Title": "Month End 123",' /
'"_DisplayName":"My Display Name"' /
"}";
run;

filename resp "%sysfunc(getoption(WORK))/resp.json";

proc http url="https://graph.microsoft.com/v1.0/me/drives/&driveId./items/&fileid/listItem/fields"
method="PATCH"
oauth_bearer="&access_token"
ct='application/json'
in=jsonmeta
out=resp;
debug level=2;
run;

The trick is finding which metadata "tags" are NOT read-only (or if that can be configured in Sharepoint). Read-only ones obviously throw an error.