本文内容
命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
将联系人添加到联系人根文件夹或其他联系人文件夹的联系人端点中。
此 API 可用于以下国家级云部署 。
全局服务
美国政府 L4
美国政府 L5 (DOD)
由世纪互联运营的中国
✅
✅
✅
✅
权限
要调用此 API,需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限 。
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
Contacts.ReadWrite
委派(个人 Microsoft 帐户)
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
标头
值
Authorization
持有者 {token}。 必填。 详细了解 身份验证和授权 。
Content-Type
application/json
请求正文
在请求正文中,提供 Contact 对象的 JSON 表示形式。
响应
如果成功,此方法在响应正文中返回 201 Created
响应代码和 联系人 对象。
示例
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/me/contacts
Content-type: application/json
{
"givenName": "Pavel",
"surname": "Bansky",
"emailAddresses": [
{
"address": "pavelb@contoso.com",
"name": "Pavel Bansky",
"type": "personal"
},
{
"address": "pavelb@contoso.com",
"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 = "pavelb@contoso.com",
Name = "Pavel Bansky",
Type = EmailType.Personal,
},
new TypedEmailAddress
{
Address = "pavelb@contoso.com",
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);
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc-beta users contacts create --user-id {user-id} --body '{\
"givenName": "Pavel",\
"surname": "Bansky",\
"emailAddresses": [\
{\
"address": "pavelb@contoso.com",\
"name": "Pavel Bansky",\
"type": "personal"\
},\
{\
"address": "pavelb@contoso.com",\
"name": "Pavel Bansky",\
"type": "other",\
"otherLabel": "Volunteer work"\
}\
],\
"phones" : [\
{\
"number": "+1 732 555 0102",\
"type": "business"\
}\
]\
}\
'
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestBody := graphmodels.NewContact()
givenName := "Pavel"
requestBody.SetGivenName(&givenName)
surname := "Bansky"
requestBody.SetSurname(&surname)
typedEmailAddress := graphmodels.NewTypedEmailAddress()
address := "pavelb@contoso.com"
typedEmailAddress.SetAddress(&address)
name := "Pavel Bansky"
typedEmailAddress.SetName(&name)
type := graphmodels.PERSONAL_EMAILTYPE
typedEmailAddress.SetType(&type)
typedEmailAddress1 := graphmodels.NewTypedEmailAddress()
address := "pavelb@contoso.com"
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)
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("pavelb@contoso.com");
typedEmailAddress.setName("Pavel Bansky");
typedEmailAddress.setType(EmailType.Personal);
emailAddresses.add(typedEmailAddress);
TypedEmailAddress typedEmailAddress1 = new TypedEmailAddress();
typedEmailAddress1.setAddress("pavelb@contoso.com");
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: 'pavelb@contoso.com',
name: 'Pavel Bansky',
type: 'personal'
},
{
address: 'pavelb@contoso.com',
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\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Contact;
use Microsoft\Graph\Generated\Models\TypedEmailAddress;
use Microsoft\Graph\Generated\Models\Phone;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Contact();
$requestBody->setGivenName('Pavel');
$requestBody->setSurname('Bansky');
$emailAddressesTypedEmailAddress1 = new TypedEmailAddress();
$emailAddressesTypedEmailAddress1->setAddress('pavelb@contoso.com');
$emailAddressesTypedEmailAddress1->setName('Pavel Bansky');
$emailAddressesTypedEmailAddress1->setType(new EmailType('personal'));
$emailAddressesArray []= $emailAddressesTypedEmailAddress1;
$emailAddressesTypedEmailAddress2 = new TypedEmailAddress();
$emailAddressesTypedEmailAddress2->setAddress('pavelb@contoso.com');
$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 = "pavelb@contoso.com"
name = "Pavel Bansky"
type = "personal"
}
@{
address = "pavelb@contoso.com"
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
from msgraph import GraphServiceClient
from msgraph.generated.models.contact import Contact
from msgraph.generated.models.typed_email_address import TypedEmailAddress
from msgraph.generated.models.phone import Phone
graph_client = GraphServiceClient(credentials, scopes)
request_body = Contact(
given_name = "Pavel",
surname = "Bansky",
email_addresses = [
TypedEmailAddress(
address = "pavelb@contoso.com",
name = "Pavel Bansky",
type = EmailType.Personal,
),
TypedEmailAddress(
address = "pavelb@contoso.com",
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":"pavelb@contoso.com"
},
{
"otherLabel": "Volunteer work",
"type":"other",
"name":"Pavel Bansky",
"address":"pavelb@contoso.com"
}
],
"websites":[
],
"phones":[
{
"type":"business",
"number":"+1 732 555 0102"
}
],
"postalAddresses":[
],
"flag":{
"flagStatus":"notFlagged"
}
}
相关内容