命名空间:microsoft.graph
重要
Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
更新用户配置文件中 itemEmail 对象的属性。
此 API 可用于以下国家级云部署。
| 全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
| ✅ |
✅ |
✅ |
✅ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 |
最低特权权限 |
更高特权权限 |
| 委派(工作或学校帐户) |
User.ReadWrite |
AgentIdUser.ReadWrite.All、AgentIdUser.ReadWrite.IdentityParentedBy、User.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
User.ReadWrite |
不可用。 |
| 应用程序 |
不支持。 |
不支持。 |
HTTP 请求
PATCH /me/profile/emails/{id}
PATCH /users/{id | userPrincipalName}/profile/emails/{id}
| 名称 |
说明 |
| Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
| Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,提供应更新的相关字段的值。 请求正文中未包含的现有属性会保留其以前的值,或者根据对其他属性值的更改重新计算。 为了获得最佳性能,请勿加入尚未更改的现有值。
下表显示了可在用户配置文件中的现有 itemEmail 对象内更新的属性。
| 属性 |
类型 |
说明 |
| address |
String |
电子邮件地址本身。 |
| allowedAudiences |
String |
能够查看实体中包含的值的访问群体。 继承自 itemFacet。 可能的值为:me、、family、contacts、groupMembersorganization、federatedOrganizations、everyone、 。 unknownFutureValue |
| displayName |
String |
用户与特定电子邮件地址关联的名称或标签。 |
| 推理 |
inferenceData |
如果实体是由创建或修改应用程序推断的,则包含推理详细信息。 继承自 itemFacet。 |
| source |
personDataSource |
如果从另一个服务同步,则值源自其中。 继承自 itemFacet。 |
| type |
emailType |
电子邮件地址的类型。 可能的值包括 unknown、work、personal、main、other。 |
响应
如果成功,此方法在响应正文中返回响应 200 OK 代码和更新的 itemEmail 对象。
示例
请求
PATCH https://graph.microsoft.com/beta/users/{userId}/profile/emails/{id}
Content-Type: application/json
{
"displayName": "Business Email",
"type": "work"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new ItemEmail
{
DisplayName = "Business Email",
Type = EmailType.Work,
};
// To initialize your graphClient, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].Profile.Emails["{itemEmail-id}"].PatchAsync(requestBody);
// 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.NewItemEmail()
displayName := "Business Email"
requestBody.SetDisplayName(&displayName)
type := graphmodels.WORK_EMAILTYPE
requestBody.SetType(&type)
// To initialize your graphClient, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=go
emails, err := graphClient.Users().ByUserId("user-id").Profile().Emails().ByItemEmailId("itemEmail-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ItemEmail itemEmail = new ItemEmail();
itemEmail.setDisplayName("Business Email");
itemEmail.setType(EmailType.Work);
ItemEmail result = graphClient.users().byUserId("{user-id}").profile().emails().byItemEmailId("{itemEmail-id}").patch(itemEmail);
const options = {
authProvider,
};
const client = Client.init(options);
const itemEmail = {
displayName: 'Business Email',
type: 'work'
};
await client.api('/users/{userId}/profile/emails/{id}')
.version('beta')
.update(itemEmail);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\ItemEmail;
use Microsoft\Graph\Beta\Generated\Models\EmailType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ItemEmail();
$requestBody->setDisplayName('Business Email');
$requestBody->setType(new EmailType('work'));
$result = $graphServiceClient->users()->byUserId('user-id')->profile()->emails()->byItemEmailId('itemEmail-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.People
$params = @{
displayName = "Business Email"
type = "work"
}
Update-MgBetaUserProfileEmail -UserId $userId -ItemEmailId $itemEmailId -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.item_email import ItemEmail
from msgraph_beta.generated.models.email_type import EmailType
# To initialize your graph_client, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ItemEmail(
display_name = "Business Email",
type = EmailType.Work,
)
result = await graph_client.users.by_user_id('user-id').profile.emails.by_item_email_id('itemEmail-id').patch(request_body)
响应
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "0fb4c1e3-c1e3-0fb4-e3c1-b40fe3c1b40f",
"allowedAudiences": "organization",
"inference": null,
"createdDateTime": "2020-07-06T06:34:12.2294868Z",
"createdBy": {
"application": null,
"device": null,
"user": {
"displayName": "Innocenty Popov",
"id": "db789417-4ccb-41d1-a0a9-47b01a09ea49"
}
},
"lastModifiedDateTime": "2020-07-06T06:34:12.2294868Z",
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"displayName": "Innocenty Popov",
"id": "db789417-4ccb-41d1-a0a9-47b01a09ea49"
}
},
"address": "Innocenty.Popov@adventureworks.com",
"displayName": "Business Email",
"type": "work"
}