创建 emailAuthenticationMethod
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
设置用户的 emailAuthenticationMethod 对象。 电子邮件身份验证是一种自助服务密码重置方法。 用户可能只有一种电子邮件身份验证方法。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
自行操作的权限
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
UserAuthenticationMethod.ReadWrite |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
不支持。 |
对其他用户操作的权限
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
UserAuthenticationMethod.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
UserAuthenticationMethod.ReadWrite.All |
对于管理员正在操作其他用户的委派方案,管理员需要下列角色之 一:
HTTP 请求
POST /users/{id | userPrincipalName}/authentication/emailMethods
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,使用所需电子邮件地址提供 emailAuthenticationMethod 对象的 JSON 表示形式。
下表显示创建 emailAuthenticationMethod 时所需的属性。
| 属性 |
类型 |
Description |
| emailAddress |
String |
电子邮件地址 |
响应
如果成功,此方法在响应正文中返回 响应代码和新 201 Created emailAuthenticationMethod 对象。
示例
请求
POST https://graph.microsoft.com/beta/users/kim@contoso.com/authentication/emailMethods
Content-Type: application/json
{
"emailAddress": "kim@contoso.com"
}
const options = {
authProvider,
};
const client = Client.init(options);
const emailAuthenticationMethod = {
emailAddress: 'kim@contoso.com'
};
await client.api('/users/kim@contoso.com/authentication/emailMethods')
.version('beta')
.post(emailAuthenticationMethod);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/users/kim@contoso.com/authentication/emailMethods"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphEmailAuthenticationMethod *emailAuthenticationMethod = [[MSGraphEmailAuthenticationMethod alloc] init];
[emailAuthenticationMethod setEmailAddress:@"kim@contoso.com"];
NSError *error;
NSData *emailAuthenticationMethodData = [emailAuthenticationMethod getSerializedDataWithError:&error];
[urlRequest setHTTPBody:emailAuthenticationMethodData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var emailAuthenticationMethod = new EmailAuthenticationMethod
{
EmailAddress = "kim@contoso.com"
};
await graphClient.Users["{user-id}"].Authentication.EmailMethods
.Request()
.AddAsync(emailAuthenticationMethod);
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
EmailAuthenticationMethod emailAuthenticationMethod = new EmailAuthenticationMethod();
emailAuthenticationMethod.emailAddress = "kim@contoso.com";
graphClient.users("kim@contoso.com").authentication().emailMethods()
.buildRequest()
.post(emailAuthenticationMethod);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewEmailAuthenticationMethod()
emailAddress := "kim@contoso.com"
requestBody.SetEmailAddress(&emailAddress)
userId := "user-id"
result, err := graphClient.UsersById(&userId).Authentication().EmailMethods().Post(requestBody)
Import-Module Microsoft.Graph.Identity.SignIns
$params = @{
EmailAddress = "kim@contoso.com"
}
New-MgUserAuthenticationEmailMethod -UserId $userId -BodyParameter $params
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "3ddfcfc8-9383-446f-83cc-3ab9be4be18f",
"emailAddress": "kim@contoso.com"
}