Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Добавление контакта в корневую папку с контактами или конечную точку контактов другой папки с контактами.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
✅ |
✅ |
✅ |
Разрешения
Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения |
Разрешения (в порядке повышения привилегий) |
Делегированные (рабочая или учебная учетная запись) |
Contacts.ReadWrite |
Делегированные (личная учетная запись Майкрософт) |
Contacts.ReadWrite |
Для приложений |
Contacts.ReadWrite |
HTTP-запрос
POST /me/contacts
POST /users/{id | userPrincipalName}/contacts
POST /me/contactFolders/{contactFolderId}/contacts
POST /users/{id | userPrincipalName}/contactFolders/{contactFolderId}/contacts
Текст запроса
Предоставьте в тексте запроса описание объекта contact в формате JSON.
Отклик
В случае успеха этот метод возвращает код отклика 201 Created
и объект contact в тексте отклика.
Пример
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/me/contacts
Content-type: application/json
{
"givenName": "Pavel",
"surname": "Bansky",
"emailAddresses": [
{
"address": "[email protected]",
"name": "Pavel Bansky",
"type": "personal"
},
{
"address": "[email protected]",
"name": "Pavel Bansky",
"type": "other",
"otherLabel": "Volunteer work"
}
],
"phones" : [
{
"number": "+1 732 555 0102",
"type": "business"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Contact
{
GivenName = "Pavel",
Surname = "Bansky",
EmailAddresses = new List<TypedEmailAddress>
{
new TypedEmailAddress
{
Address = "[email protected]",
Name = "Pavel Bansky",
Type = EmailType.Personal,
},
new TypedEmailAddress
{
Address = "[email protected]",
Name = "Pavel Bansky",
Type = EmailType.Other,
OtherLabel = "Volunteer work",
},
},
Phones = new List<Phone>
{
new Phone
{
Number = "+1 732 555 0102",
Type = PhoneType.Business,
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Contacts.PostAsync(requestBody);
mgc-beta users contacts create --user-id {user-id} --body '{\
"givenName": "Pavel",\
"surname": "Bansky",\
"emailAddresses": [\
{\
"address": "[email protected]",\
"name": "Pavel Bansky",\
"type": "personal"\
},\
{\
"address": "[email protected]",\
"name": "Pavel Bansky",\
"type": "other",\
"otherLabel": "Volunteer work"\
}\
],\
"phones" : [\
{\
"number": "+1 732 555 0102",\
"type": "business"\
}\
]\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewContact()
givenName := "Pavel"
requestBody.SetGivenName(&givenName)
surname := "Bansky"
requestBody.SetSurname(&surname)
typedEmailAddress := graphmodels.NewTypedEmailAddress()
address := "[email protected]"
typedEmailAddress.SetAddress(&address)
name := "Pavel Bansky"
typedEmailAddress.SetName(&name)
type := graphmodels.PERSONAL_EMAILTYPE
typedEmailAddress.SetType(&type)
typedEmailAddress1 := graphmodels.NewTypedEmailAddress()
address := "[email protected]"
typedEmailAddress1.SetAddress(&address)
name := "Pavel Bansky"
typedEmailAddress1.SetName(&name)
type := graphmodels.OTHER_EMAILTYPE
typedEmailAddress1.SetType(&type)
otherLabel := "Volunteer work"
typedEmailAddress1.SetOtherLabel(&otherLabel)
emailAddresses := []graphmodels.TypedEmailAddressable {
typedEmailAddress,
typedEmailAddress1,
}
requestBody.SetEmailAddresses(emailAddresses)
phone := graphmodels.NewPhone()
number := "+1 732 555 0102"
phone.SetNumber(&number)
type := graphmodels.BUSINESS_PHONETYPE
phone.SetType(&type)
phones := []graphmodels.Phoneable {
phone,
}
requestBody.SetPhones(phones)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
contacts, err := graphClient.Me().Contacts().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Contact contact = new Contact();
contact.setGivenName("Pavel");
contact.setSurname("Bansky");
LinkedList<TypedEmailAddress> emailAddresses = new LinkedList<TypedEmailAddress>();
TypedEmailAddress typedEmailAddress = new TypedEmailAddress();
typedEmailAddress.setAddress("[email protected]");
typedEmailAddress.setName("Pavel Bansky");
typedEmailAddress.setType(EmailType.Personal);
emailAddresses.add(typedEmailAddress);
TypedEmailAddress typedEmailAddress1 = new TypedEmailAddress();
typedEmailAddress1.setAddress("[email protected]");
typedEmailAddress1.setName("Pavel Bansky");
typedEmailAddress1.setType(EmailType.Other);
typedEmailAddress1.setOtherLabel("Volunteer work");
emailAddresses.add(typedEmailAddress1);
contact.setEmailAddresses(emailAddresses);
LinkedList<Phone> phones = new LinkedList<Phone>();
Phone phone = new Phone();
phone.setNumber("+1 732 555 0102");
phone.setType(PhoneType.Business);
phones.add(phone);
contact.setPhones(phones);
Contact result = graphClient.me().contacts().post(contact);
const options = {
authProvider,
};
const client = Client.init(options);
const contact = {
givenName: 'Pavel',
surname: 'Bansky',
emailAddresses: [
{
address: '[email protected]',
name: 'Pavel Bansky',
type: 'personal'
},
{
address: '[email protected]',
name: 'Pavel Bansky',
type: 'other',
otherLabel: 'Volunteer work'
}
],
phones: [
{
number: '+1 732 555 0102',
type: 'business'
}
]
};
await client.api('/me/contacts')
.version('beta')
.post(contact);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Contact;
use Microsoft\Graph\Beta\Generated\Models\TypedEmailAddress;
use Microsoft\Graph\Beta\Generated\Models\EmailType;
use Microsoft\Graph\Beta\Generated\Models\Phone;
use Microsoft\Graph\Beta\Generated\Models\PhoneType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Contact();
$requestBody->setGivenName('Pavel');
$requestBody->setSurname('Bansky');
$emailAddressesTypedEmailAddress1 = new TypedEmailAddress();
$emailAddressesTypedEmailAddress1->setAddress('[email protected]');
$emailAddressesTypedEmailAddress1->setName('Pavel Bansky');
$emailAddressesTypedEmailAddress1->setType(new EmailType('personal'));
$emailAddressesArray []= $emailAddressesTypedEmailAddress1;
$emailAddressesTypedEmailAddress2 = new TypedEmailAddress();
$emailAddressesTypedEmailAddress2->setAddress('[email protected]');
$emailAddressesTypedEmailAddress2->setName('Pavel Bansky');
$emailAddressesTypedEmailAddress2->setType(new EmailType('other'));
$emailAddressesTypedEmailAddress2->setOtherLabel('Volunteer work');
$emailAddressesArray []= $emailAddressesTypedEmailAddress2;
$requestBody->setEmailAddresses($emailAddressesArray);
$phonesPhone1 = new Phone();
$phonesPhone1->setNumber('+1 732 555 0102');
$phonesPhone1->setType(new PhoneType('business'));
$phonesArray []= $phonesPhone1;
$requestBody->setPhones($phonesArray);
$result = $graphServiceClient->me()->contacts()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.PersonalContacts
$params = @{
givenName = "Pavel"
surname = "Bansky"
emailAddresses = @(
@{
address = "[email protected]"
name = "Pavel Bansky"
type = "personal"
}
@{
address = "[email protected]"
name = "Pavel Bansky"
type = "other"
otherLabel = "Volunteer work"
}
)
phones = @(
@{
number = "+1 732 555 0102"
type = "business"
}
)
}
# A UPN can also be used as -UserId.
New-MgBetaUserContact -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.contact import Contact
from msgraph_beta.generated.models.typed_email_address import TypedEmailAddress
from msgraph_beta.generated.models.email_type import EmailType
from msgraph_beta.generated.models.phone import Phone
from msgraph_beta.generated.models.phone_type import PhoneType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Contact(
given_name = "Pavel",
surname = "Bansky",
email_addresses = [
TypedEmailAddress(
address = "[email protected]",
name = "Pavel Bansky",
type = EmailType.Personal,
),
TypedEmailAddress(
address = "[email protected]",
name = "Pavel Bansky",
type = EmailType.Other,
other_label = "Volunteer work",
),
],
phones = [
Phone(
number = "+1 732 555 0102",
type = PhoneType.Business,
),
],
)
result = await graph_client.me.contacts.post(request_body)
Отклик
Ниже показан пример отклика. Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('c3e1fcd2-db78-42a8-aec5-1f2cd59abb5c')/contacts/$entity",
"@odata.etag":"W/\"EQAAABYAAACv7At+UNVFRLhGciJGF6v5AAAve7fW\"",
"id":"AAMkADh6v5AAAvgTCEAAA=",
"createdDateTime":"2018-06-11T19:56:07Z",
"lastModifiedDateTime":"2018-06-11T19:56:07Z",
"changeKey":"EQAAABYAAACv7At+UNVFRLhGciJGF6v5AAAve7fW",
"categories":[
],
"parentFolderId":"AAMkADh6v5AAAAAAEOAAA=",
"birthday":null,
"fileAs":"",
"displayName":"Pavel Bansky",
"givenName":"Pavel",
"initials":null,
"middleName":null,
"nickName":null,
"surname":"Bansky",
"title":null,
"yomiGivenName":null,
"yomiSurname":null,
"yomiCompanyName":null,
"generation":null,
"imAddresses":[
],
"jobTitle":null,
"companyName":null,
"department":null,
"officeLocation":null,
"profession":null,
"assistantName":null,
"manager":null,
"spouseName":null,
"personalNotes":"",
"children":[
],
"gender":null,
"isFavorite":null,
"emailAddresses":[
{
"type":"personal",
"name":"Pavel Bansky",
"address":"[email protected]"
},
{
"otherLabel": "Volunteer work",
"type":"other",
"name":"Pavel Bansky",
"address":"[email protected]"
}
],
"websites":[
],
"phones":[
{
"type":"business",
"number":"+1 732 555 0102"
}
],
"postalAddresses":[
],
"flag":{
"flagStatus":"notFlagged"
}
}
Связанные материалы