创建 languageProficiency
本文内容
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
使用此 API 在用户配置文件中创建新的 languageProficiency 对象 。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限 。
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
User.ReadWrite、User.ReadWrite.All
委派(个人 Microsoft 帐户)
User.ReadWrite、User.ReadWrite.All
应用程序
User.ReadWrite.All
HTTP 请求
POST /me/profile/languages
POST /users/{id | userPrincipalName}/profile/languages
名称
说明
Authorization
Bearer {token}。必需。
Content-Type
application/json. Required.
请求正文
在请求正文中,提供 languageProficiency 对象的 JSON 表示形式。
下表显示了在用户配置文件中创建新的 languageProficiency 对象时可以设置 的属性 。
属性
类型
Description
allowedAudiences
String
能够查看实体中包含的值的访问群体。 继承自 itemFacet 。 可取值为:me、family、contacts、groupMembers、organization、federatedOrganizations、everyone、unknownFutureValue。
displayName
String
包含语言长格式的名称。
inference
inferenceData
如果实体是由创建或修改应用程序推断出来的,则包含推断详细信息。 继承自 itemFacet 。
读取
languageProficiencyLevel
表示用户阅读对象所代表的语言理解。 可取值为:elementary、conversational、limitedWorking、professionalWorking、fullProfessional、nativeOrBilingual 或 unknownFutureValue。
source
personDataSource
如果从另一个服务同步,则值源自何处。 继承自 itemFacet 。
spoken
languageProficiencyLevel
表示用户对对象所代表的语言的熟练程度。 可取值为:elementary、conversational、limitedWorking、professionalWorking、fullProfessional、nativeOrBilingual 或 unknownFutureValue。
tag
String
包含语言名称的四个字符 BCP47 (en-US、no-NB、en-AU) 。
written
languageProficiencyLevel
表示用户对对象所代表的语言的熟练程度。 可取值为:elementary、conversational、limitedWorking、professionalWorking、fullProfessional、nativeOrBilingual、unknownFutureValue。
响应
如果成功,此方法在 201, Created 响应正文中返回 响应代码和新 languageProficiency 对象。
示例
请求
下面展示了示例请求。
POST https://graph.microsoft.com/beta/me/profile/languages
Content-type: application/json
{
"displayName": "Norwegian Bokmål",
"tag": "nb-NO",
"spoken": "nativeOrBilingual",
"written": "nativeOrBilingual",
"reading": "nativeOrBilingual"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var languageProficiency = new LanguageProficiency
{
DisplayName = "Norwegian Bokmål",
Tag = "nb-NO",
Spoken = LanguageProficiencyLevel.NativeOrBilingual,
Written = LanguageProficiencyLevel.NativeOrBilingual,
Reading = LanguageProficiencyLevel.NativeOrBilingual
};
await graphClient.Me.Profile.Languages
.Request()
.AddAsync(languageProficiency);
const options = {
authProvider,
};
const client = Client.init(options);
const languageProficiency = {
displayName: 'Norwegian Bokmål',
tag: 'nb-NO',
spoken: 'nativeOrBilingual',
written: 'nativeOrBilingual',
reading: 'nativeOrBilingual'
};
await client.api('/me/profile/languages')
.version('beta')
.post(languageProficiency);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me/profile/languages"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphLanguageProficiency *languageProficiency = [[MSGraphLanguageProficiency alloc] init];
[languageProficiency setDisplayName:@"Norwegian Bokmål"];
[languageProficiency setTag:@"nb-NO"];
[languageProficiency setSpoken: [MSGraphLanguageProficiencyLevel nativeOrBilingual]];
[languageProficiency setWritten: [MSGraphLanguageProficiencyLevel nativeOrBilingual]];
[languageProficiency setReading: [MSGraphLanguageProficiencyLevel nativeOrBilingual]];
NSError *error;
NSData *languageProficiencyData = [languageProficiency getSerializedDataWithError:&error];
[urlRequest setHTTPBody:languageProficiencyData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LanguageProficiency languageProficiency = new LanguageProficiency();
languageProficiency.displayName = "Norwegian Bokmål";
languageProficiency.tag = "nb-NO";
languageProficiency.spoken = LanguageProficiencyLevel.NATIVE_OR_BILINGUAL;
languageProficiency.written = LanguageProficiencyLevel.NATIVE_OR_BILINGUAL;
languageProficiency.reading = LanguageProficiencyLevel.NATIVE_OR_BILINGUAL;
graphClient.me().profile().languages()
.buildRequest()
.post(languageProficiency);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewLanguageProficiency()
displayName := "Norwegian Bokmål"
requestBody.SetDisplayName(&displayName)
tag := "nb-NO"
requestBody.SetTag(&tag)
spoken := "nativeOrBilingual"
requestBody.SetSpoken(&spoken)
written := "nativeOrBilingual"
requestBody.SetWritten(&written)
reading := "nativeOrBilingual"
requestBody.SetReading(&reading)
result, err := graphClient.Me().Profile().Languages().Post(requestBody)
Import-Module Microsoft.Graph.People
$params = @{
DisplayName = "Norwegian Bokmål"
Tag = "nb-NO"
Spoken = "nativeOrBilingual"
Written = "nativeOrBilingual"
Reading = "nativeOrBilingual"
}
# A UPN can also be used as -UserId.
New-MgUserProfileLanguage -UserId $userId -BodyParameter $params
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
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"
}
},
"source": null,
"displayName": "Norwegian Bokmål",
"tag": "nb-NO",
"spoken": "nativeOrBilingual",
"written": "nativeOrBilingual",
"reading": "nativeOrBilingual"
}