Forum Widgets
Latest Discussions
Project Online (CSOM): Encountering 'User Not Found in Active Directory or Project DB'
Issue We are attempting to access Project Online data in Project Permission mode using app-only authentication, specifically to bypass MFA for programmatic access, as we aim for continuous, automated access without any user-interaction. We are using CSOM, using Microsoft.ProjectServer.Client.ProjectContext in .NET 4.8 to connect to Project Online. Despite following several documented approaches with client certificates, client secrets, and OAuth configurations, we keep encountering errors like 401 Unauthorized and User not found in Active Directory or in project db. Below is a summary of our steps. Despite multiple attempts, we consistently receive errors blocking access. We have followed recommended documentation for client credentials, certificates, and permissions but still face access issues. Technology Project Online CSOM in .NET 4.8 Microsoft.ProjectServer.Client.ProjectContext Azure AD (Entra ID) Solutions Attempted Client Certificate Authentication: Configuration: Registered an app in Azure AD (Entra) with a client certificate and set permissions including Sites.FullControl.All. NOTE: we could not select Project permissions (Project.Read, etc.) in the Application Permissions screen, only within the delegated permissions screen. Token Acquisition: We acquired an access token using az account get-access-token --resource=https://.sharepoint.com. Request Attempted: URL:https://.sharepoint.com/sites//_api/ProjectData/Projects Outcome: {"error":"invalid_request","error_description":"App is not allowed to call SPO with user_impersonation scope"} Client Secret with Client Credentials: App Registration: Configured client ID and client secret in Azure AD with permissions for Project.ReadWrite.All and Sites.Selected. Token Acquisition: Called the token endpoint: Endpoint:https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token Parameters: client_id, scope=https://.sharepoint.com/.default, client_secret, grant_type=client_credentials Access Attempt: URL:https://.sharepoint.com/sites//_api/ProjectData/Projects Response: HTTP/1.1 401 Unauthorized Response Body: "" Outcome: Despite obtaining a valid token, the request returns a “Please sign in” page, rather than an access token. SharePoint AppPermissionRequest Configuration using /sites/pwa/layouts/15/appinv.aspx: Configuration: Set up AppPermissionRequest XML in SharePoint for permissions like: Outcome: This configuration did not make any differences, and did not grant the required permissions in Project Permission mode, as SharePoint app permissions do not seem to cover Project-specific access, it seems. Project Online access remains blocked. <AppPermissionRequest Scope="[http://sharepoint/content/sitecollection]" Right="FullControl"/> Microsoft Graph API Exploration: Goal: Investigated Graph API as an alternative. Outcome: Microsoft Graph lacks Project Online-specific permissions, limiting access to SharePoint and directory data, which does not meet our need for project-specific data access. Microsoft.Identity.Client and client certificate Configuration: CSOM using the following code to login: Outcome: Access fails withUser:<customercontent></customercontent> not found in Active Directory or in project db public static void Login(this ProjectContext context) { var clientId = "xxx"; var clientSecret = "xxx"; var authority = "https://login.microsoftonline.com/xxx"; var scope = "https://xxx.sharepoint.com/.default"; var certificate = new X509Certificate2("c:\\temp\\cert.pfx", "xx"); var app = ConfidentialClientApplicationBuilder.Create(clientId) .WithCertificate(certificate) .WithAuthority(new Uri(authority)) .Build(); AuthenticationResult result = TaskHelper.BlockingAwait(() => app.AcquireTokenForClient(new[] { scope }).ExecuteAsync()); string accessToken = result.AccessToken; context.ExecutingWebRequest += (sender, e) => { e.WebRequestExecutor.RequestHeaders["Authorization"] = "Bearer " + accessToken; }; } Key Questions: Is there a method for app-only authentication in Project Online in Project Permission mode__ that bypasses MFA for automated access? Has anyone succeeded in applying app-only credentials for Project Online access__, specifically in Project Permission mode? Are there any alternative permission configurations__ (like Azure AD settings, conditional access policies, or app permissions) that could facilitate this access? Thank you in advance! Edit: Sorry for the bad formatting.carlduguayNov 07, 2024Occasional Reader10Views0likes0CommentsExcel Reporting : Can't connect to calendars with OData anymore (v2)
Hello everyone, Some of you may remember my previous thread about the same-ish issue (https://techcommunity.microsoft.com/t5/project/excel-reporting-can-t-connect-to-calendars-with-odata-anymore/m-p/4132119) that ended up being solved by a Project Online patch. But somehow, the issue returned. Not the same cause, since it has nothing to do with authentication this time, but the same symptoms : trying to fetch Calendar Exceptions data from an Excel OData query doesn't work anymore. When trying to get the data, I am getting "Error 400 : Cannot get a CSOM-compatible PJContext for an HTTP request that started outside of CSOM." It seems the issue started this morning on my client's tenant. Has anyone else experienced the same issue ?Romain_BrunelNov 07, 2024Copper Contributor199Views0likes5CommentsMS Project Online (CSOM) read Assignment history
I need to get status of approvals of the assignments in MS Project Online I want to look at History, find latest record and see its approval status. I use following code to retrieve History: TimePhase timePhase1 = employee._mspStatusAssignments.GetTimePhase(Start.Date, End.Date); _projectContext.Load(timePhase1); _projectContext.Load(timePhase1.Assignments); _projectContext.ExecuteQuery(); StatusAssignment statusAssignment1 = timePhase1.Assignments.FirstOrDefault(x => x.Id.ToString() == ID); _projectContext.Load(statusAssignment1.History); _projectContext.ExecuteQuery(); But this code throws exception at ExecuteQuery when attempt to retrieve History when history has more than 0 items: Exception Message: The type of data at position 642 is different than the one expected. StackTrace: at Microsoft.SharePoint.Client.JsonReader.ReadDateTime() at Microsoft.ProjectServer.Client.StatusAssignmentHistoryLine.InitOnePropertyFromJson(String peekedName, JsonReader reader) at Microsoft.SharePoint.Client.ClientObject.FromJson(JsonReader reader) at Microsoft.SharePoint.Client.JsonReader.ReadJsonObject(Type fallbackType) at Microsoft.SharePoint.Client.JsonReader.ReadObject(Type fallbackType) at Microsoft.SharePoint.Client.JsonReader.ReadObjectArray(Type fallbackElementType) at Microsoft.SharePoint.Client.ClientObjectCollection`1.ReadChildItems(JsonReader reader) at Microsoft.SharePoint.Client.ClientObjectCollection.InitOnePropertyFromJson(String peekedName, JsonReader reader) at Microsoft.SharePoint.Client.ClientObject.FromJson(JsonReader reader) at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream) at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse() at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb) at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery() Can anyone suggest what could be causing this problem? Thank youPavel161Nov 07, 2024Copper Contributor7Views0likes0CommentsChange URL
Hi, I have a site https://projectserver.abc.com/sites/pwa. I want to change it to https://projectserver.xyz.com/sites/pwa. Can anybody help me with the steps to changing the URL. I have mapped my url https://projectserver.xyz/comwith the IP address.AmitWairkar1Nov 06, 2024Copper Contributor54Views0likes1CommentIn project online, how to restrict the user from rebaselining with pm permission.
User is in project manager group.Anil_kumar_AnakalaNov 06, 2024Copper Contributor83Views0likes3CommentsDisabling Posting of the Task Conversations
hello Community! I am using Microsoft Project Planner 3 connected to Teams Channel. I am the Owner of the Teams Channel. I noticed that everytime, when someone starts a Task conversation on a task level, their conversaion gets posted in the channel as a Post. I really wish avoiding it, as the Posts are meant only for major announcements in our project. With all tasks conversations published as Posts, it gets cluttered. I wish tasks converstaions not appear in Posts. I disabled the postig feature to Channel Owners only, and unfortuantely it disabled the tasks conversations to non-Owners too. I do recall just a year ago, Task Conversations and Posts were not connected features. Please advise, if it is possible to enable the task assignees to use task conversation feature without task conversations being published as Posts?SolvedNataliaT2445Nov 06, 2024Copper Contributor114Views0likes1CommentProject Server OLAP problem
Using Project Server subscription edition and sql server Standard 2019. When generating the olap cubes, we get the error "SQLNCLI11 is not registered in the local machine" But sql server 2019 does not supportSQLNCLI11... ¿How can we solve this? Thanksware32Nov 04, 2024Copper Contributor31Views0likes0CommentsThird Party UI for MS sharepoint and MS Project integration
Hi, I am looking for a method of linking MS Project Tasks / Activities with sharepoint folder information. For example, If I assign someone a task, I want there to a link in the task to the location of the sharepoint folder they should work in, and a link to the template files they need to do the task. I would also like to save a library of "tasks" that can be added to any new project. Is anyone aware of any features within Microsoft 365 or a third party software that can offer this functionality? Ideally with a customisable UI. I am looking into using a Front End App that uses webhooks with MAKE browser based automation but I wondered if there is a solution already existing? Thanks Forum.RichardW1265Nov 04, 2024Copper Contributor64Views0likes1CommentProject Online - 4000 characters limit for Multiple Lines of text for a Custom Field
I am wondering if there is a way to increase the limit of 4000 characters that there is for an Enterprise Custom Field that is defined as Multiple Lines of Text. The error messages says: "When using rich text formatting, this limit depends on the extent of the formatting and may be less than 4000 characters." Therefore, it looks like changing the field formatting to plain instead to rich would remove this limit, but I do not know how to do it. Thanks in advance for any help on this.SolvedFernandoP2220Nov 01, 2024Copper Contributor98Views0likes2Comments
Resources
Tags
- Project654 Topics
- Online263 Topics
- Project Desktop143 Topics
- Project Server139 Topics
- Office 36594 Topics
- Developer70 Topics
- 201663 Topics
- On Premise52 Topics
- API46 Topics
- Admin45 Topics