Hi,
We're trying to resolve an exception occurring when we attempt to update a user property.
Connection to graph client:
var cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(@"cert.pfx", "{password}");
IConfidentialClientApplication clientApp = ConfidentialClientApplicationBuilder
.Create(appId)
.WithTenantId(tenantId)
.WithCertificate(cert)
.Build();
var authProvider = new ClientCredentialProvider(clientApp);
graphClient = new MicrosoftGraphBeta.Microsoft.Graph.GraphServiceClient(authProvider);
This is the code being used to attempt to update a specific user account’s specific custom property using the SharePoint API via the PnP Framework package:
string siteUrl = "https://xxxx.sharepoint.com";
using (var clientContext = new PnP.Framework.AuthenticationManager(
appId,
@"cert.pfx",
"{password}",
"xxxx.onmicrosoft.com")
.GetContext("https://xxxx.sharepoint.com")) {
PeopleManager peopleManager = new PeopleManager(clientContext);
string myAccount =
"i:0#.f|membership|******@xxxx.com";
string[] depts = { "GroupOne", "GroupTwo" };
peopleManager.SetMultiValuedProfileProperty(myAccount,
"CustomDepartment", depts);
clientContext.ExecuteQuery();
}
Packages (note we have tried older versions of these packages too):
- Microsoft.Graph.Auth (v1.0.0-preview.7)
- Microsoft.Graph.Beta (v4.5.0-preview)
- Microsoft.Identity.Client (v.4.33.0)
- PnP.Framework (v.1.5.15-nightly)
The above code fails with the following error:
Microsoft.Graph.ServiceException: 'Code: Request_ResourceNotFound
Message: Resource '' does not exist or one of its queried reference-property objects are not present.
Other attempts using previous versions of the packages has resulted in:
Microsoft.SharePoint.Client.ServerUnauthorizedAccessException: 'Access denied. You do not have permission to perform this action or access this resource.'
These errors continue to occur when the following PowerShell command has been run to enable legacy authentication and waiting 24 hours:
Set-SPOTenant -LegacyAuthProtocolsEnabled $True
The Azure App has been granted admin approval on the following permissions for the Graph API under both application and delegated contexts:
- Directory.Read.All
- Group.Read.All
- GroupMember.Read.All
- OrgContact.Read.All
- Sites.FullControl.All
- TermStore.Read.All
- TermStore.ReadWrite.All
- User.Read.All
- User.ReadWrite.All
The Azure App has been granted admin approval on the following permissions for SharePoint under the delegated context:
- AllSites.FullControl
- AllSites.Manage
- AllSites.Read
- AllSites.Write
- Sites.Search.All
- TermStore.Read.All
- TermStore.ReadWrite.All
- User.Read.All
- User.ReadWrite.All
The Azure App has been granted admin approval on the following permissions for SharePoint under the application context:
- Sites.FullControl.All
- Sites.Manage.All
- Sites.Read.All
- Sites.ReadWrite.All
- TermStore.Read.All
- TermStore.ReadWrite.All
- User.Read.All
- User.ReadWrite.All
Looking for assistance in how to resolve the error. Looks like there is a permission missing somewhere.
Thanks.