取得 Microsoft Cloud 合約的合約中繼資料
適用於:合作夥伴中心
不適用:由 21Vianet 營運的合作夥伴中心 |美國政府適用的 Microsoft Cloud 合作夥伴中心
Microsoft 公用雲端中的合作夥伴中心目前僅支援 AgreementMetaData 資源。
自 2021 年起,Microsoft 客戶合約 取代了 Microsoft Cloud 合約。 如果您的客戶先前已簽署 Microsoft 雲端合約,除了 Microsoft 客戶合約 歷程記錄之外,還會提供其上次已知的合約歷程記錄.
必要條件
如果您使用合作夥伴中心 .NET SDK,則需要 1.9 版或更新版本。
重要
自 2023 年 6 月起,最新的合作夥伴中心 .NET SDK 3.4.0 版現已封存。 您可以從 GitHub 下載 SDK 版本,以及 包含實用資訊的自述檔 。
鼓勵合作夥伴繼續使用 合作夥伴中心 REST API。
如果您使用合作夥伴中心 Java SDK,則需要 1.8 版或更新版本。
認證,如合作夥伴中心驗證所述。 此案例支援應用程式 + 使用者驗證。
.NET (1.14 版或更新版本)
若要擷取 Microsoft Cloud 合約的合約元數據:
首先,擷 取 IAggregatePartner.AgreementDetails 集合。
呼叫 ByAgreementType 方法,將集合篩選為 Microsoft Cloud Agreement.++++++++++++++++++++++++
最後,呼叫 Get 或 GetAsync 方法。
// IAggregatePartner partnerOperations;
string agreementType = "MicrosoftCloudAgreement";
var microsoftCloudAgreementDetails = partnerOperations.AgreementDetails.ByAgreementType(agreementType).Get().Items.Single();
您可以在主控台測試應用程式專案的 GetAgreementDetails 類別中找到完整的範例。
.NET (版本 1.9 - 1.13)
若要擷取 Microsoft Cloud 合約的合約元數據:
請先擷 取 IAggregatePartner.AgreementDetails 集合,然後呼叫 Get 或 GetAsync 方法。 然後搜尋集合內的專案,其對應至 Microsoft Cloud 合約:
// IAggregatePartner partnerOperations;
var agreements = partnerOperations.AgreementDetails.Get();
AgreementMetaData microsoftCloudAgreement = agreements.Items.FirstOrDefault (agr => agr.AgreementType == AgreementType.MicrosoftCloudAgreement);
Java
合作夥伴中心 Java SDK 可用來管理合作夥伴中心資源。 它是由合作夥伴社群維護的開放原始碼專案,且 Microsoft 未正式支援。 如果您遇到問題,可以從社群取得協助或在 GitHub 上提出問題。
若要擷取 Microsoft Cloud 合約的合約元數據:
先呼叫 IAggregatePartner.getAgreementDetails 函式,然後呼叫 get 函式。 然後搜尋集合內的專案,其對應至 Microsoft Cloud 合約:
// IAggregatePartner partnerOperations;
ResourceCollection<AgreementMetaData> agreements = partnerOperations.getAgreements().get();
AgreementMetaData microsoftCloudAgreement;
for (AgreementMetaData metadata : agreements)
{
if(metadata.getAgreementType() == AgreementType.MicrosoftCloudAgreement)
{
microsoftCloudAgreement = metadata;
}
}
您可以在主控台測試應用程式專案的 GetAgreementDetails 類別中找到完整的範例。
PowerShell
合作夥伴中心 PowerShell 模組可用來管理合作夥伴中心資源。 它是由合作夥伴社群維護的開放原始碼專案,且 Microsoft 未正式支援。 如果您遇到問題,可以從社群取得協助或在 GitHub 上提出問題。
若要擷取 Microsoft Cloud 合約的合約元數據:
使用 Get-PartnerAgreementDetail 命令。 然後搜尋集合內的專案,其對應至 Microsoft Cloud 合約:
Get-PartnerAgreementDetail | Where-Object {$_.AgreementType -eq 'MicrosoftCloudAgreement'} | Select-Object -First 1
REST 要求
若要擷取 Microsoft Cloud 合約的合約元數據,請先建立 REST 要求以擷取 AgreementMetaData 集合。 然後搜尋集合中對應至 Microsoft Cloud 合約的專案。
要求語法
方法 | 要求 URI |
---|---|
GET | {baseURL}/v1/agreements HTTP/1.1 |
URI 參數
使用下列 URI 參數搭配您的要求:
名稱 | 類型 | 必要 | 描述 |
---|---|---|---|
合約類型 | string | No | 使用此參數將查詢回應的範圍設定為特定的合約類型。 支援的值為: 僅包含 MicrosoftCloudAgreement 類型的合約元數據的 MicrosoftCloudAgreement 僅包含 MicrosoftCustomerAgreement 類型的合約元數據的 MicrosoftCustomerAgreement。 * 會傳回所有合約元數據。 (除非您的程式代碼具有必要的運行時間邏輯來處理不熟悉的合約類型,否則請勿使用 * ,因為 Microsoft 可能會隨時引進具有新合約類型的合約元數據。 注意: 如果未指定 URI 參數,查詢會預設為 MicrosoftCloudAgreement 以取得回溯相容性。 |
要求標頭
如需詳細資訊,請參閱合作夥伴中心 REST 標頭。
要求本文
無。
要求範例
GET https://api.partnercenter.microsoft.com/v1/agreements HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
REST 回應
如果成功,這個方法會在回應本文中傳回 AgreementMetaData 資源的集合。
回應成功和錯誤碼
每個回應都有一個 HTTP 狀態代碼,指出成功或失敗和其他偵錯資訊。 使用網路追蹤工具來讀取此程式代碼、錯誤類型和其他參數。 如需完整清單,請參閱合作夥伴中心的 REST 錯誤碼。
回應範例
HTTP/1.1 200 OK
Content-Length: 620
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
{
"totalCount": 1,
"items": [
{
"templateId": "998b88de-aa99-4388-a42c-1b3517d49490",
"agreementType": "MicrosoftCloudAgreement",
"agreementLink": "https://learn.microsoft.com/partner-center/agreements",
"versionRank": 0
}
],
"links": {
"self": {
"uri": "/agreements",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
若要在對應至 Microsoft Cloud 合約的響應中識別資源,請尋找 agreementType 屬性值為 “MicrosoftCloudAgreement” 的資源。