Microsoft Graph 异常:必须使用服务操作生成新密码凭据
Microsoft Graph Exception: New password credentials must be generated using service actions
如何使用 Microsoft Graph 客户端 SDK 在创建应用程序时添加客户端密码?
定义如下所示的应用程序失败,并出现 必须使用服务操作生成新密码凭据。 异常:
var application new Application
{
DisplayName = "My app name",
PasswordCredentials = new List<PasswordCredential>
{
new PasswordCredential
{
SecretText = secretKey,
DisplayName = "Default Secret",
EndDateTime = DateTimeOffset.MaxValue,
KeyId = Guid.NewGuid(),
StartDateTime = DateTimeOffset.Now,
CustomKeyIdentifier = null,
Hint = secretKey.Substring(4)
}
}
};
await graphClient.Applications.Request().AddAsync(application);
我找到了有关如何使用 HTTP POST 执行此操作的信息,但在使用 Microsoft Graph 客户端 SDK 时找不到。
找到了,只需要在 documentation.
中仔细查看
var createdApplication = await graphClient.Applications.Request().AddAsync(application);
var passwordCredential = new PasswordCredential
{
DisplayName = "Password friendly name",
EndDateTime = DateTimeOffset.Parse("31/12/2299"), // Max allowed as far as I can tell
KeyId = Guid.NewGuid(),
StartDateTime = DateTimeOffset.Now,
CustomKeyIdentifier = null,
};
var passwordCredential = await graphClient.Applications[createdApplication.Id]
.AddPassword(passwordCredential)
.Request()
.PostAsync();
return 值 passwordCredential
包含秘密文本。
您不能将 passwordCredentials: []直接添加到应用程序创建 POST 调用。您将收到类似于以下内容的错误:必须使用服务操作生成新密码凭据。您必须先创建应用程序,然后调用 POST 来更新应用程序的 passwordCredentials 字段。通过此更改,您无法再生成自己的秘密文本。您只能设置开始日期、结束日期和显示名称。
参考:https://docs.microsoft.com/en-us/graph/api/application-addpassword?view=graph-rest-beta
如何使用 Microsoft Graph 客户端 SDK 在创建应用程序时添加客户端密码?
定义如下所示的应用程序失败,并出现 必须使用服务操作生成新密码凭据。 异常:
var application new Application
{
DisplayName = "My app name",
PasswordCredentials = new List<PasswordCredential>
{
new PasswordCredential
{
SecretText = secretKey,
DisplayName = "Default Secret",
EndDateTime = DateTimeOffset.MaxValue,
KeyId = Guid.NewGuid(),
StartDateTime = DateTimeOffset.Now,
CustomKeyIdentifier = null,
Hint = secretKey.Substring(4)
}
}
};
await graphClient.Applications.Request().AddAsync(application);
我找到了有关如何使用 HTTP POST 执行此操作的信息,但在使用 Microsoft Graph 客户端 SDK 时找不到。
找到了,只需要在 documentation.
中仔细查看var createdApplication = await graphClient.Applications.Request().AddAsync(application);
var passwordCredential = new PasswordCredential
{
DisplayName = "Password friendly name",
EndDateTime = DateTimeOffset.Parse("31/12/2299"), // Max allowed as far as I can tell
KeyId = Guid.NewGuid(),
StartDateTime = DateTimeOffset.Now,
CustomKeyIdentifier = null,
};
var passwordCredential = await graphClient.Applications[createdApplication.Id]
.AddPassword(passwordCredential)
.Request()
.PostAsync();
return 值 passwordCredential
包含秘密文本。
您不能将 passwordCredentials: []直接添加到应用程序创建 POST 调用。您将收到类似于以下内容的错误:必须使用服务操作生成新密码凭据。您必须先创建应用程序,然后调用 POST 来更新应用程序的 passwordCredentials 字段。通过此更改,您无法再生成自己的秘密文本。您只能设置开始日期、结束日期和显示名称。
参考:https://docs.microsoft.com/en-us/graph/api/application-addpassword?view=graph-rest-beta