Recent 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.33Views0likes0CommentsMS 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 you19Views0likes0CommentsProject 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? Thanks37Views0likes0CommentsProjectWebApp REST API: OAuth Authentication - ClientCredentials Grant type only
Hi All, We are trying to read the Project Information (Flow: SAP<--->SharePointOnline) using the ProjectWebApp(PWA) REST APIs : https://domainName/sites/pwa/_api/ProjectData/Projects for which we have registered the App in Azure Portal and then given the required permissions. we are able to read the project information using the OAuth Grant Type: Authorization Code, where user interacts with authorization server to get the access token.But withthe GrantType : Client Credentials we are NOT able to read? Since its Server-to-Server interaction, we do not want User Auhorization code to interact. Let us know how can we access the PWA APIs with OAuth: Client Credentials GrantType? When we try to access with GrantType : ClientCredentials after getting the access token, we get the below error. Kindly provide documents that can guide us how to achieve the above requirement. API :https://domainName/sites/pwa/_api/ProjectData/Projects We have the below details after registering the app: Toke URL to fetch the access token :https://login.microsoftonline.com/TenantID/tokens/OAuth/2 grant_type =client_credentials client_id =ClientID@TenantID client_secret = xxx resource =resource/<domain-name>@TenantID scope =https://localhost Token Fetch: SuccessFull API call: Error Thanks Sai135Views0likes0CommentsConnect Project Online (PWA) using CSOM (C#) with MFA
Hello community, I need to work with MS Project Online (PWA) over API, CRUD projects, CRUD tasks and etc. I can connect to Project with using CSOM as described here: https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/using-csom-for-dotnet-standard?source=recommendations And it works fine until MFA is enabled. Once MFA is enabled in Azure, the connection fails: "error": "interaction_required", "error_description": "AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access I'm searching proper and working way to pass 2-factor auth (as example it works fine with Schedule API from the box) Package "SharePointPnPCoreOnline" that containsGetWebLoginClientContext method is deprecated (https://www.nuget.org/packages/SharePointPnPCoreOnline/3.28.2012) Package "PnP.Framework" does not contain (I can't see) ability to pass 2-factor auth and retrieve token (https://www.nuget.org/packages/PnP.Framework/1.17.0) and returns same error as above. Can anyone tell me how to pass 2-factor authentication using C#, CSOM to get ProjectContext worked? Thank you145Views0likes0CommentsTask Delete
Hi, We are using Project Server 2019. We came across an issue wherein a task got automatically deleted after the Actual Work was updated. We are not able to figure it out, how as tasks cannot be deleted if actuals are booked on it. How can i find the root cause of this issue. can i check it in the Project Server Queue or in the ULS Logs. Regards, Amit Wairkar88Views0likes0CommentsMoving a Project 2021 licence to a new user
Does anyone know how I can move a Project 2021 license to a new user? I purchased a licence for Project 2021 in June of this year, and has a friend load it on his computer with is MS account. I want to get it back from him, but we cannot figure out how to do it so I can intall and use. The other user uninstalled it, but it remains tied to his account.123Views0likes0Commentserror generating olap cube
When generating the project server olap cube we get this error: Cant load file 'Microsoft.AnalysisServices, Version=15.0.0.0, Culture=neutral Our sql server version is 2019 (15.0.4390.2) We have installed AMO, ADOMD andSQL_AS_OLEDB but still fails. any idea?132Views0likes0Commentsget resource hours planned by day
Using project server 2019 Subscription edition. We have published several projects with tasks and resource assignments. But in a sql query: select * from pjrep.MSP_EpmAssignmentByDay we get no data. why? In project server desktop app, we can see work in the resource use view correctly102Views0likes0CommentsMajor Functionality Change in Project Online Desktop: Copy-Paste No Longer Transfers Full Task Data
Hi, I'm having a problem with the task copy-paste functionality, which I use very frequently, in the most recent release of Project Online Desktop Client. I'd love any help you can provide. Description of the Problem: Recently, when copying tasks in Microsoft Project Online Desktop Client, only partial task data is being copied and pasted. Previously, when selecting an entire task row (including summary tasks) and copying it, all task-related data would be copied, including: Resource assignments Work Assignment units Duration Start and finish dates Predecessors and successors Task constraints (e.g., "As soon as possible") Notes All sub-task information for summary tasks (with correct indentation) Upon pasting, this data would be transferred in its entirety, allowing for efficient duplication of task structures and bulk modifications using find/replace. Now, when performing the same action, the behavior has changed. After copying, only the task name is pasted. The following issues occur: Incomplete data transfer: Only the task name is pasted, and no other task details (resource assignments, dates, durations, etc.) are carried over. Loss of summary task structure: For summary tasks, the sub-tasks are not properly indented; instead, the sub-task names are pasted as independent tasks, with no hierarchical structure. Task constraint issue: Pasted tasks now seem to have a "Finish no later than..." constraint applied, which appears to be derived from the original finish dates. This suggests the finish dates are being pasted as fixed constraints, overriding the original "As soon as possible" constraint that the task originally had. It seems as though the copy-paste functionality is not pulling all data fields from the task row but instead is only capturing a subset (task name and finish date). This behavior is different from what used to happen, where all task attributes would be included in the copy-paste operation. Is this an intended change or a bug? Has anyone found a workaround to ensure all task details are copied when using copy-paste functionality in the Desktop Client? Can I adjust settings to restore the original copy-paste behavior? Could this be related to a recent update or settings change in Microsoft Project? Are there any known changes to how Microsoft Project handles copying tasks between project files, or perhaps with Project Online Desktop Client specifically? Can this be escalated to the Project development team? Thanks for any help you can provide. Rob MS Project user since 1996126Views0likes0CommentsProject for the web - holiday calendar
Hi! Onproject for the webi've created a calendar template from a "calendar resource" and assigned them a 08:00 AM - 17:00 PM GMT+1 working hour Holiday are "non working day" in this calendar (summer and winter holiday) Is there a way to let the plan's PM to manage his collaborator holiday without admin access to project admin dashboard? Otherways every time that a users go on holiday i should go on his resourse and modify his working day Thanks!149Views0likes0CommentsMS Project - Different links between operations in print and processing view
Dear Community, I have a problem with the links of my processes. In order to be able to compare the former dates (target dates) with the actual dates (actual) or the postponed dates, I have carried out a target/actual comparison via the GANTT diagram monitoring view. However, something does not seem to work with the display of the link lines between the tasks. The following problem description: In my Gantt chart view (image 1), the links are displayed correctly by the system, just as I would like them to be. The actual dates (on the right-hand side) are linked with connecting lines. However, if I then want to print the plan, the links refer to the target dates (on the left) of the activities and no longer to the postponed or actual dates (on the right). I would also like to have the views from image 1 as a print view so that I can send it to the customer as a PDF. What could be the problem? My thoughts go in the direction of the different stored dates (Fig. 3) or bar types (see Fig. 4). However, I have tried everything and have not found a solution to the problem. Can anyone help me? Figure 1: Figure 2: Figure 3: Figure 4:119Views0likes0CommentsResource calendar hour mistake
Hi! On project for the web i've created a calendar template from a "calendar resource" and assigned them a 08:00 AM - 17:00 PM GMT+1 working hour Then i assigned this calendar to each resource. I have some plan on project with these resources but when i assign them some task the hour are "random", why? This cause daily hours counting mistake Start date: 5/7 End date: 5/7 Total should be 1 day(8 hour) instead of 0,75 day What am i missing? Thanks!112Views0likes0CommentsProject Online custom sharepoint site pages will not populate notebook
I have custom sharepoint pages in project online, recently the notebook on the project SharePoint Site stopped working. When a brand new site is created, user clicks on the notebook link and it displays an error message, "Sorry, something went wrong. Item does not exist. It may have been deleted by another user". I found a temporary workaround, in the Site Settings >Manage Site Features, I deactivate the notebook and then activate. The notebook will then create. I also tried to deactivate / activate on the site page template but it does not resolve the issue.109Views0likes0CommentsMs Project Online Custom Field does not rollup properly in some projects
In some projects, a task custom field that is formulated to rollup the value of [Baseline Duration] in summary tasks, shows an error when opening the project in Project Professional Desktop. The error disappears briefly when publishing and then reappears when closing and reopening the project. This does not happen in every project. It's very weird and the projects where the error is shown don't have something special, they are simple projects with baseline.138Views0likes0CommentsCompare two versions of a project
Hello, I am using the compare function to compare the two versions (two different files, same tasks) of a project. after comparison I can find the difference in the task columns, but it is empty in the graph of Gantt Chart, there are no comparison between two files. Anyone know how to set? Thanks! Hong181Views0likes0CommentsCalendar option visible in Project for the web App
Hi, I have a managed solution in a production Power Apps environment that runs the Project for the web app. I noticed a "Calendar" option on the Project main form that was not there until last week. I then opened the unmanaged solution in the dev environment from where I export it as a managed solution, the Project table's form does not have this Calendar option. No other changes were made to the main form so where is this Calendar option appearing in my solution? I can confirm both solution versions are the same & no other user updated the solution. Unmanaged solution Project main form: The production app where the Calendar option is visible:124Views0likes0Comments
Events
Recent Blogs
- We have released two new Power Automate Flow templates for Project Managers and Team Members to help you be more productive with Project for the web. Y...Nov 26, 202425KViews5likes36Comments
- In February 2024, Message Center post MC 714186 detailed changes coming to Custom Script settings in SharePoint Online. The MC post did not specifically call out Project Web App sites in Project Onl...Nov 26, 20244.2KViews3likes5Comments