I want to create/update project in microsoft project online using some reference data. Is there REST API or SDK available? Especially for Java clients?
            Asked
            
        
        
            Active
            
        
            Viewed 1.1k times
        
    2 Answers
3
            
            
        Yes project online provides REST API
Few examples -
1) Get All Projects information from Project Online
http://<pwa_site>/_api/ProjectData/Projects
2) Get Project GUID
http://<pwa_site>/_api/ProjectData/Projects/?$select=ProjectId
3) Get Specific Project information based on GUID
http://<pwa_site>/_api/ProjectData/Projects(guid'<GUID here>')
4) Get Assignment Information of a Project (Tasks Assigned)
http://<pwa_site>/_api/ProjectData/Projects(guid'<GUID here>')/Assignments
5) Get Assignments based on user
http://<pwa_site>/_api/ProjectData/Projects(guid'<GUID here>')/Assignments?
$filter=ResourceName eq '<Name>'
6) Get Tasks of a Project
http://<pwa_site>/_api/ProjectData/Projects(guid'<GUID here>')/Tasks
        Mukesh Arora
        
- 1,763
 - 2
 - 8
 - 19
 
- 
                    1Where did you find that information? Does MS have documentation on that?? – Mikeez Aug 02 '19 at 18:48
 - 
                    No, MS does not have this documentation, in one of my project, my team needs to work on some feature which requires such APIS, then I found this information through a google search and it works well for our use case. – Mukesh Arora Aug 03 '19 at 06:34
 - 
                    Thank you, is there a way to import data dynamicly? – Mikeez Aug 05 '19 at 17:47
 - 
                    @Mikeez - Please elaborate your use case what do you mean by dynamically?. You can certainly call these APIs to get the data for specific or all the projects and import/upload in required storage. – Mukesh Arora Aug 06 '19 at 03:59
 - 
                    Per se, I would like to import all MS Project Online into MySQL directly and automatically. – Mikeez Aug 06 '19 at 04:45
 - 
                    1There is no out of the box feature for that, You need to build. You can write a backgroup process/service which will run on a schedule basis, fetch the data using APIs and upload in the MySQL in the desired structure. – Mukesh Arora Aug 06 '19 at 04:50
 - 
                    When you say fetch the data using APIs, you mean like a python script for example? – Mikeez Aug 06 '19 at 21:54
 - 
                    @Mikeez - Yes, in language python, Java , C# etc. which allow you to call rest api. – Mukesh Arora Aug 07 '19 at 03:55
 
3
            
            
        In case anyone runs across this...the documentation for the Microsoft Project Online OData API is here: https://learn.microsoft.com/en-us/previous-versions/office/project-odata/jj163015(v=office.15)
It is a bit lacking but covers the 6 examples given by Mukesh Arora.
        CJ van der Smissen
        
- 541
 - 3
 - 8