如何使用Microsoft.Graph更新联系人?

时间:2018-08-23 14:49:54

标签: microsoft-graph microsoft-graph-sdks

我正在使用Microsoft Graph来更改联系人的电话。

$("#infoForm").submit(function() { 
    $("#infoTable").fadeIn(400);

    //InputData is an array that contains the user input data
    $.post( "file.php", InputData,
        function( data ){

            var names = data.names; //from PHP file
            var numbers = data.numbers; //from PHP file


            var namesArray = names.split(',');
            var numbersArray = numbers.split(',');
            for(var i = 0; i < namesArray.length; i++) {
              $("#infoTable > tbody").append('<tr><td>'+namesArray[i]+'</td><td>'+numbersArray[i]+'</td></tr>');
          }


    }, "json");
    return false;

});

我有一个联系人列表:我的列表

我使用此代码添加新联系人:

var defaultContact = await graphClient.Me.Contacts.Request().GetAsync();

mylist.AddRange(defaultContact);

while (defaultContact.NextPageRequest != null)
{
    defaultContact = await defaultContact.NextPageRequest.GetAsync();
    mylist.AddRange(defaultContact);
}

但是我找不到使用Microsoft.Graph更新或编辑联系人的方法

1 个答案:

答案 0 :(得分:3)

要编辑/更新联系人时,可以使用以下操作:

PATCH /me/contacts/{id}
PATCH /me/contactFolders/{id}/contacts/{id}

PATCH /users/{id | userPrincipalName}/contacts/{id}
PATCH /users/{id | userPrincipalName}/contactFolders/{id}/contacts/{id}

documentation中描述了更多的操作(但基本相同)。

在C#-SDK中,它可能看起来像这样:

/* ... do your changes to the contact*/;

// PATCH /users/{id | userPrincipalName}/contactFolders/{id}/contacts/{id}
var request = await graphClient.Users["userId"].ContactFolders["contactFolderId"].Contacts[myChangedContact.Id].Request().UpdateAsync(myChangedContact);

// PATCH /me/contacts/{id}
var request2 = await graphClient.Me.Contacts[myChangedContact.Id].Request().UpdateAsync(myChangedContact);