Project 2013 的客戶端物件模型 (CSOM)

Project Server 2013 用戶端物件模型 (CSOM) 實作一般伺服器功能。 Project Server CSOM 包含 Microsoft .NET CSOM、Microsoft Silverlight CSOM、Windows Phone 8 CSOM,以及 JSOM) (JavaScript 物件模型。 此外,CSOM 包含可啟用 REST 介面的 OData 服務。 REST 介面主要用於在 iOS 和 Android 等非 Windows 平台上開發應用程式。

注意事項

Project Online的解決方案必須使用 CSOM。 不過,內部部署應用程式可以使用 CSOM 或 Project Server Interface (PSI) 。 如果 CSOM 包含您打算使用的功能,建議您針對新的應用程式使用 CSOM。

在 CSOM 擴充功能中, ProjectContext 物件會提供伺服器內容和功能的進入點。 .NET CSOM、Silverlight CSOM 和 Windows Phone CSOM 會使用 Microsoft.ProjectServer.Client.ProjectContext 物件,而 JSOM 會使用 PS。ProjectContext 物件。 ProjectContext 屬性可讓您直接存取目前 Project Web App 網站集合中的核心 Project Server 物件。 如需 CSOM 元件和 JavaScript 檔案位置的相關信息,請參閱 Microsoft.ProjectServer.Client

應用程式和安全性模型應用程式必須使用 CSOM 進行 CRUD (使用 Project Server 2013 和 Project Online 建立、讀取、更新、刪除) 作業。 Project 應用程式不會在 SharePoint 2013 中使用僅限應用程式的驗證模型。 Project Server 應用程式需要指定其代表命令執行的特定許可權要求範圍。

REST 查詢 您可以建立 CSOM OData 服務的 REST 查詢,而不需要使用元數據。 某些第三方工具可讓您使用適用於 CSOM 的 .NET 元件來開發其他裝置的應用程式。 例如,在因特網上搜尋「適用於 iOS 或 Android 的跨平臺 .NET 開發工具」。

注意事項

$metadata雖然 ProjectData 報表服務的選項在) ( https://ServerName/pwaName/_api/ProjectData/$metadata 有效,$metadata但已在 Project Server 2013 的發行版中移除 CSOM 的 ProjectServer 服務選項。 若要尋找可用為 REST 端點的 CSOM 對象和成員,請參閱 適用於 Project Server 2013 的 JavaScript 連結庫和 REST 參考

若要透過 REST 介面查看 CSOM 中可用的實體,您可以使用 https://ServerName/pwaName/_api/ProjectServer 查詢。 對於 REST 查詢, ProjectServer 實體會密切鏡像 Microsoft.ProjectServer.Client.dll Managed 元件和 PS 中 ProjectContext 物件的屬性 。JSOM 中的 ProjectContext 物件。 例如,您可以使用下列查詢,從 CSOM 取得 Project Web App 中專案的相關信息、指定專案中的指派,以及指定資源之指定工作分派的工作名稱,方法是使用下列查詢 (每個查詢都會使用相同的 https://ServerName/pwaName/_api URL 前置詞) 。 GUID 是 Project.Id、EnterpriseResource.IdAssignment.Id 的範例值

/ProjectServer/Projects
/ProjectServer/Projects('263fc8d7-427c-e111-92fc-00155d3ba208')/Assignments
/ProjectServer/EnterpriseResources('28eeb2b5-fe74-4efc-aa35-6a64514d1526')/Assignments('a2eafeb5-437c-e111-92fc-00155d3ba208')/Task?$select=Name

不同於 ProjectData 服務的 OData 介面是報告的唯讀介面,您可以搭配 ProjectServer 服務使用 REST 查詢來執行 CRUD 作業。 Project Server CSOM 的 REST 查詢主要是針對 Windows 桌面以外的平臺所設計,例如 Windows RT、iOS 和 Android。 針對 Windows 桌面和伺服器平臺,例如 Windows 7、Windows 8 和 Windows Server 2008 R2,您可以使用 CSOM 受控元件。 針對 Web 應用程式,您可以使用適用於 JavaScript 的 PS.js。 如需使用 REST 查詢執行 CRUD 作業的相關信息,請參閱 SharePoint 2013 SDK 中的在 SharePoint REST 要求中使用 OData 查詢作業 主題。 如需使用 ProjectData 服務的相關信息,請 參閱查詢 Project 報告數據的 OData 摘要

表 1 列出代表 Project Server 物件的 ProjectContext 屬性。 您可以使用這些物件來擷取其他 Project Server 2013 實體,例如工作分派和工作。

表 1. ProjectContext 屬性,可讓您存取 CSOM 和 JSOM 中的 Project Server 物件

CSOM (.NET、Silverlight 和 Windows Phone) JSOM
CustomFields
customFields
EnterpriseProjectTypes
enterpriseProjectTypes
EnterpriseResources
enterpriseResources
EntityTypes
entityTypes
EventHandlers
eventHandlers
Events
事件
LookupTables
lookupTables
階段
階段
專案
專案
階段
階段
WorkflowActivities
workflowActivities
WorkflowDesigner
workflowDesigner

本節內容

開始使用 Project Server CSOM 和 .NET 提供 Project Server CSOM 和 .NET 的概觀資訊、如何在 Visual Studio 2012 中建立簡單 .NET CSOM 擴充功能的指示,以及支援的程式代碼範例。

開始使用 Project Server 2013 JavaScript 物件模型 提供 Project Server JSOM 的概觀資訊、如何在 Visual Studio 2012 中建立簡單 JSOM 擴充功能的指示,以及支援的程式代碼範例。

此外,請參閱這些說明如何使用 CSOM 的文章:

注意事項

您也可以使用 Visual Studio 2010 搭配 CSOM 進行 .NET Framework 4 開發。

參考

Microsoft.ProjectServer.Client

另請參閱

Project Server 2013 架構在 SharePoint 2013 中選擇正確的 API 集合