获取 Microsoft 云协议的协议元数据

适用于:合作伙伴中心

不适用于:由世纪互联运营的合作伙伴中心 | Microsoft Cloud for US Government 合作伙伴中心

仅 Microsoft 公有云中的合作伙伴中心支持 AgreementMetaData 资源。

截至 2021 年,Microsoft 客户协议取代了 Microsoft 云协议。 如果你的客户之前签署了 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 云协议的协议元数据:

  1. 首先,检索 IAggregatePartner.AgreementDetails 集合。

  2. 调用 ByAgreementType 方法将集合筛选到 Microsoft Cloud Agreement.++++++++++++++++++++++++

  3. 最后,调用 GetGetAsync 方法。

// IAggregatePartner partnerOperations;

string agreementType = "MicrosoftCloudAgreement";

var microsoftCloudAgreementDetails = partnerOperations.AgreementDetails.ByAgreementType(agreementType).Get().Items.Single();

可以在控制台测试应用项目的 GetAgreementDetails中找到完整的示例。

.NET (版本 1.9 - 1.13)

检索 Microsoft 云协议的协议元数据:

首先检索 IAggregatePartner.AgreementDetails 集合,然后调用 Get 或 GetAsync 方法。 然后搜索集合中的项,它对应于 Microsoft 云协议:

// IAggregatePartner partnerOperations;

var agreements = partnerOperations.AgreementDetails.Get();

AgreementMetaData microsoftCloudAgreement = agreements.Items.FirstOrDefault (agr => agr.AgreementType == AgreementType.MicrosoftCloudAgreement);

Java

合作伙伴中心 Java SDK 可用于管理合作伙伴中心资源。 它是由合作伙伴社区维护的开源项目,不受 Microsoft 正式支持。 如果遇到问题,可以从社区获取帮助在 GitHub 上创建问题

检索 Microsoft 云协议的协议元数据:

首先调用 IAggregatePartner.getAgreementDetails 函数,然后调用 get 函数。 然后搜索集合中的项,它对应于 Microsoft 云协议:

// 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 云协议的协议元数据:

使用 Get-PartnerAgreementDetail 命令。 然后搜索集合中的项,它对应于 Microsoft 云协议:

Get-PartnerAgreementDetail | Where-Object {$_.AgreementType -eq 'MicrosoftCloudAgreement'} | Select-Object -First 1

REST 请求

若要检索 Microsoft 云协议的协议元数据,请先创建 REST 请求以检索 AgreementMetaData 集合。 然后搜索与 Microsoft 云协议对应的集合中的项。

请求语法

方法 请求 URI
GET {baseURL}/v1/agreements HTTP/1.1

URI 参数

将以下 URI 参数用于请求:

名称 类型​​ 必需 说明
agreement-type string 使用此参数将查询响应的范围限定为特定的协议类型。 支持的值包括:

仅包含 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: ab993325-1605-4cf4-bac4-fb584142a31b

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: ab993325-1605-4cf4-bac4-fb584142a31b
{
    "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 云协议的资源,请查找其 agreementType 属性具有值“MicrosoftCloudAgreement”的资源