MS Graph SDK v5:为 singleValueExtendedProperties(联系人)添加值

问题描述 投票:0回答:1

在使用 Graph SDK v5 (C#) 创建新联系人时,我尝试为多个 singleValueExtendedProperties 添加值。我的代码运行没有错误,但似乎未应用 singleValueExtendedProperties。 例如,如果我运行以下代码,它就会起作用。

var requestContactBody = new Microsoft.Graph.Models.Contact
{
    Surname = "",
    GivenName = givenName,
    FileAs = givenName,
    CompanyName = companyName,
    JobTitle = jobTitle,
    Department = department,
    BusinessHomePage = businessHomePage,
    BusinessPhones = new List<string>(),
    MobilePhone = mobilePhone,
    EmailAddresses = new List<Microsoft.Graph.Models.EmailAddress>
    {
        new Microsoft.Graph.Models.EmailAddress
        {
            Name = emailAddress_name,
            Address = emailAddress_address,
        },
    },
    BusinessAddress = new Microsoft.Graph.Models.PhysicalAddress
    {
        Street = businessAddress_street,
        City = businessAddress_city,
        State = businessAddress_state,
        PostalCode = businessAddress_postalCode,
    },
    PersonalNotes = personalNotes,
    SingleValueExtendedProperties = new List<Microsoft.Graph.Models.SingleValueLegacyExtendedProperty>
    {
        new Microsoft.Graph.Models.SingleValueLegacyExtendedProperty
        {
            Id = "String {00062004-0000-0000-C000-000000000046} Id 0x8084",
            Value = aSemail,
        },
        new Microsoft.Graph.Models.SingleValueLegacyExtendedProperty
        {
            Id = "String {00062004-0000-0000-c000-000000000046} Id 0x8082",
            Value = "SMTP",
        },
    },
};

gsc.Users[impersonaddr].ContactFolders[aFolderID].Contacts.PostAsync(requestContactBody).GetAwaiter().GetResult();

但是,如果通过图形资源管理器检查刚刚添加的联系人,则 singleValueExtendedProperties 未正确应用,而其他属性则正常。

https://graph.microsoft.com/v1.0/me/contacts?$expand=singleValueExtendedProperties($filter=id eq 'String {00062004-0000-0000-C000-000000000046} Id 0x00008084' or id eq 'String {00062004-0000-0000-C000-000000000046} Id 0x8082')

它们似乎已设置为默认值。

"singleValueExtendedProperties": [
    {
        "id": "String {00062004-0000-0000-c000-000000000046} Id 0x8084",
        "value": "[email protected]"
    },
    {
        "id": "String {00062004-0000-0000-c000-000000000046} Id 0x8082",
        "value": "EX"
    }
]

请大家帮帮我

microsoft-graph-api office365 microsoft-graph-sdks
1个回答
0
投票

我明白了!对于 SingleValueExtendedProperties PostAsync 不起作用。 您应该首先使用 POST 创建联系,然后使用 PATCH 添加 SingleValueExtendedProperties。 例如,

var contactResult = gsc.Users[impersonaddr].ContactFolders[aFolderID].Contacts.PostAsync(requestContactBody).GetAwaiter().GetResult();
    
var requestBody = new Microsoft.Graph.Models.Contact
{
    SingleValueExtendedProperties = new List<Microsoft.Graph.Models.SingleValueLegacyExtendedProperty>
    {
        new Microsoft.Graph.Models.SingleValueLegacyExtendedProperty
        {
            Id = "String {00062004-0000-0000-C000-000000000046} Id 0x8084",
            Value = aSemail,
        },
        new Microsoft.Graph.Models.SingleValueLegacyExtendedProperty
        {
            Id = "String {00062004-0000-0000-c000-000000000046} Id 0x8082",
            Value = "SMTP",
        },
    },
};

gsc.Users[impersonaddr].Contacts[contactResult.Id].PatchAsync(requestBody).GetAwaiter().GetResult(); 
© www.soinside.com 2019 - 2024. All rights reserved.