developer
76 TopicsCreating a Project through Graph API "msdyn_CreateProjectV1"
I want to create a new Project online plan using Microsoft Graph API, so i used this end point and action inside my flow:- now the action will run successfully, and it should have created a new Project with subject = "Subject Test from automate", as follow:- but i can not find the new project inside the UI:- any advice?47Views0likes1CommentProject online REST API for Project Manager approval on Task status update
Hi all, I am currently working on a custom solution that integrates multiple functionalities interacting with Project Online data. As part of a new requirement, whenever a team member submits a task update in timesheet, I aim to provide Project Managers with the ability to approve task updates directly from a custom page. My initial approach was to utilize the Project REST API (_api/ProjectServer), but I have not been able to locate an appropriate endpoint that supports this functionality. Could anyone kindly guide me to the specific REST API endpoint (if available) that can be used to approve task updates? Any insights or alternative approaches would be greatly appreciated. Thanks in advance. Regards Shruti Vyas91Views0likes1CommentOpening and Viewing Option for Two MS Project Files Simultaneously on Two Screens?
Hi Can two MS Project files be opened on two different screens at the same time? This option is should be there as it is for other usual MS software like Word, Excel etc. Hope this can be fixed as will ease out while working from two parallel files simultaneously. Appreciate if this can be looked at, please asap. Looking forwardSolved155KViews1like41CommentsProject Professional 2024 and Project Server SE OIDC Authentication Issue
Hi all, I have setup a Project Server SE Environment (SharePoint and Project Server Subscription Edition) and configured Custom Open Id Connect Server as Trusted Identity Provider. Everything worked perfectly in the Project Server part from authenticating (redirecting the user to the Open Id connect server for authentication) to everything else except when I open the schedule in Microsoft Project Professional 2024 at first it opens the embedded web browser that it gives me that it can't load jQuery and Bootstrap JS files and CSS and after I enter my credentials it gives me SharePoint Error Page https://youtu.be/tgZ293boon8 unfortunately, I can't upload the logs here if anyone needs it let me know how to send it to him151Views0likes3CommentsIssue with EntityLinks in Project Online API
Hello everyone, I'm working with Project Online and trying to retrieve task data via the API. While reviewing the metadata, I noticed that PublishedTasks have a navigation property called EntityLinks, but I couldn't find clear documentation on its purpose or usage. What I Tried I attempted the following API requests: Retrieve EntityLinks for a task: GET https://{sitename}.sharepoint.com/sites/pwa/_api/ProjectServer/Projects(guid'{validProjectId}')/Tasks('{validTaskId}')/EntityLinks Expand EntityLinks within tasks GET https://{sitename}.sharepoint.com/sites/pwa/_api/ProjectServer/Projects(guid'{validProjectId}')/Tasks?$expand=EntityLinks Observations When the project has tasks, the request fails with: { "odata.error": { "code": "42, Microsoft.ProjectServer.PJClientCallableException", "message": { "lang": "en-US", "value": "PJClientCallableException: GeneralUnhandledException\r\nGeneralUnhandledException\r\nException = System.NotImplementedException: The method or operation is not implemented.\r\n at Microsoft.Office.Project.Server.BusinessLayer.EntityLinks.ThrowIfEntityLinksNotSupported()\r\n at Microsoft.Office.Project.Server.BusinessLayer.EntityLinks.ReadEntityLinksForEntities(Guid[] entityUids)\r\n at Microsoft.Office.Project.Server.Wcf.Implementation.CSOMImpl.<>c__DisplayClass35_0.<ReadEntityLinksForEntities>b__1()\r\n at Microsoft.Office.Project.Server.BusinessObjectMethodInvocation.InvokeBusinessObjectMethod(String methodName, IEnumerable`1 actions)" } } } If the project has no tasks, the request returns an empty response without errors { "odata.metadata": "https://{sitename}.sharepoint.com/sites/pwa/_api/$metadata#SP.ApiData.PublishedTasks", "value": [ ] } Other navigation properties (e.g., Predecessors) work fine with a similar request. Questions What are EntityLinks, and what do they refer to? How can they be created via the UI in Project Online? Is there a way to retrieve them successfully through the API? I couldn't find references for this error or EntityLinks. Any insights would be greatly appreciated! Thanks in advance!79Views0likes0CommentsIssue with EntityLinks in Project Online API
Hello everyone, I'm working with Project Online and trying to retrieve task data via the API. While reviewing the metadata, I noticed that PublishedTasks have a navigation property called EntityLinks, but I couldn't find clear documentation on its purpose or usage. What I Tried I attempted the following API requests: Retrieve EntityLinks for a task: GET https://{sitename}.sharepoint.com/sites/pwa/_api/ProjectServer/Projects(guid'{validProjectId}')/Tasks('{validTaskId}')/EntityLinks Expand EntityLinks within tasks: GET https://{sitename}.sharepoint.com/sites/pwa/_api/ProjectServer/Projects(guid'{validProjectId}')/Tasks?$expand=EntityLinks Observations When the project has tasks, the request fails with: { "odata.error": { "code": "42, Microsoft.ProjectServer.PJClientCallableException", "message": { "lang": "en-US", "value": "PJClientCallableException: GeneralUnhandledException\r\nGeneralUnhandledException\r\nException = System.NotImplementedException: The method or operation is not implemented.\r\n at Microsoft.Office.Project.Server.BusinessLayer.EntityLinks.ThrowIfEntityLinksNotSupported()\r\n at Microsoft.Office.Project.Server.BusinessLayer.EntityLinks.ReadEntityLinksForEntities(Guid[] entityUids)\r\n at Microsoft.Office.Project.Server.Wcf.Implementation.CSOMImpl.<>c__DisplayClass35_0.<ReadEntityLinksForEntities>b__1()\r\n at Microsoft.Office.Project.Server.BusinessObjectMethodInvocation.InvokeBusinessObjectMethod(String methodName, IEnumerable`1 actions)" } } } If the project has no tasks, the request returns an empty response without errors: { "odata.metadata": "https://{sitename}.sharepoint.com/sites/pwa/_api/$metadata#SP.ApiData.PublishedTasks", "value": [ ] } Other navigation properties (e.g., Predecessors) work fine with a similar request. Questions What are EntityLinks, and what do they refer to? How can they be created via the UI in Project Online? Is there a way to retrieve them successfully through the API? I couldn't find references for this error or EntityLinks. Any insights would be greatly appreciated! Thanks in advance!35Views0likes0CommentsConnect 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 contains GetWebLoginClientContext 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 you263Views0likes1CommentAccessing Project REST API throws error: Exception of type 'Microsoft.IdentityModel.Tokens.AudienceU
I am trying to access the Project Online REST API http://ServerName/ProjectServerName/_api/ProjectData/Projects More precisely my query is the following "https://" + sharepoint_url + "/sites/pwa/_api/ProjectServer/Projects('" + project_id + "')/Assignments('" + project_task_id + "')/Resource" Now what I am challenges with, is the right authentication. I am trying to impersonate two natural users, the application is registered in AAD and I also get a token. But I get either one of the two errors {"error_description":"Unsupported security token."} or {"error_description":"Exception of type 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException' was thrown."} I am happy to provide further details, but I am a bit lost in the API jungle from Microsoft. Unfortunately it appears that Graph API does not (yet?) support Project Online. I was already following those guides here: https://docs.microsoft.com/de-de/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow http://pratapreddypilaka.blogspot.com/2018/05/sharepoint-online-authentication-for.html No positive result. I do get tokens, but the errors remain.2.9KViews1like3CommentsHow to extract the value of RBS in Enterprise Resource in Project Server 2019?
I try to retrieve the value of RBS in Enterprise Resource in Project Server by using C#/ CSOM. Unfortunately, I just got the Resource Name, as for the value of RBS, I always cannot extract any value from this field. Sometimes, the value of RBS is wrong or the same. I shared the code for you to look at and hope the seasoned people can help me to address it or sharing some idea in this. I appreciate your help. Thanks. Explanation: The Enterprise Resources will be extracted by ID. "projectContext" will load specificRes with all Custom Fields. I'm going to retrieve the value of a specific field (RBS) Finally, When I specify to retrieve the value of "RBS", no matter how I change the Resource Id, the value of RBS is the same Is there any idea on this issue? Thanks for everyone's help. var specificRes = projectContext.EnterpriseResources.GetById(new Guid("46914ae8-3c55-488d-a045-4d1a5aaf1e74").ToString()); projectContext.Load(specificRes, r => r.Name, r => r.CustomFields, r => r.CustomFields.IncludeWithDefaultProperties( lu => lu.LookupTable, lu => lu.LookupEntries)); projectContext.ExecuteQuery(); var cusField = specificRes.CustomFields.FirstOrDefault(cf => cf.InternalName == "Custom_000039b78bbe4ceb82c4fa8c0c400284"); projectContext.Load(cusField); projectContext.ExecuteQuery(); Console.WriteLine(cusField.LookupEntries.First().FullValue);144Views0likes7CommentsProject 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://%3Ctenant%3E.sharepoint.com/sites/%3cproject-site%3e/_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/%7bTENANT_ID%7d/oauth2/v2.0/token Parameters: client_id, scope= https://%3Ctenant%3E.sharepoint.com/.default, client_secret, grant_type=client_credentials Access Attempt: URL: https://%3Ctenant%3E.sharepoint.com/sites/%3cproject-site%3e/_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 with User:<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.129Views0likes0Comments