创建 workPosition
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
使用此 API 在用户配置文件中创建新的workPosition。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
User.ReadWrite、User.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
User.ReadWrite、User.ReadWrite.All |
| 应用程序 |
User.ReadWrite.All |
HTTP 请求
POST /me/profile/positions
POST /users/{id | userPrincipalName}/profile/positions
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供 workPosition 对象的 JSON 表示形式。
下表显示了在用户配置文件中创建新的 workPosition 对象时可以设置 的属性。
响应
如果成功,此方法在 201, Created 响应正文中返回 响应代码和新 workPosition 对象。
示例
请求
下面展示了示例请求。
POST https://graph.microsoft.com/beta/me/profile/positions
Content-type: application/json
{
"detail": {
"company": {
"displayName": "Adventureworks Ltd.",
"department": "Consulting",
"officeLocation": "AW23/344",
"address": {
"type": "business",
"street": "123 Patriachy Ponds",
"city": "Moscow",
"countryOrRegion": "Russian Federation",
"postalCode": "RU-34621"
},
"webUrl": "https://www.adventureworks.com"
},
"jobTitle": "Senior Product Branding Manager II",
"role": "consulting"
},
"isCurrent": true
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var workPosition = new WorkPosition
{
Detail = new PositionDetail
{
Company = new CompanyDetail
{
DisplayName = "Adventureworks Ltd.",
Department = "Consulting",
OfficeLocation = "AW23/344",
Address = new PhysicalAddress
{
Type = PhysicalAddressType.Business,
Street = "123 Patriachy Ponds",
City = "Moscow",
CountryOrRegion = "Russian Federation",
PostalCode = "RU-34621"
},
WebUrl = "https://www.adventureworks.com"
},
JobTitle = "Senior Product Branding Manager II",
Role = "consulting"
},
IsCurrent = true
};
await graphClient.Me.Profile.Positions
.Request()
.AddAsync(workPosition);
const options = {
authProvider,
};
const client = Client.init(options);
const workPosition = {
detail: {
company: {
displayName: 'Adventureworks Ltd.',
department: 'Consulting',
officeLocation: 'AW23/344',
address: {
type: 'business',
street: '123 Patriachy Ponds',
city: 'Moscow',
countryOrRegion: 'Russian Federation',
postalCode: 'RU-34621'
},
webUrl: 'https://www.adventureworks.com'
},
jobTitle: 'Senior Product Branding Manager II',
role: 'consulting'
},
isCurrent: true
};
await client.api('/me/profile/positions')
.version('beta')
.post(workPosition);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me/profile/positions"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphWorkPosition *workPosition = [[MSGraphWorkPosition alloc] init];
MSGraphPositionDetail *detail = [[MSGraphPositionDetail alloc] init];
MSGraphCompanyDetail *company = [[MSGraphCompanyDetail alloc] init];
[company setDisplayName:@"Adventureworks Ltd."];
[company setDepartment:@"Consulting"];
[company setOfficeLocation:@"AW23/344"];
MSGraphPhysicalAddress *address = [[MSGraphPhysicalAddress alloc] init];
[address setType: [MSGraphPhysicalAddressType business]];
[address setStreet:@"123 Patriachy Ponds"];
[address setCity:@"Moscow"];
[address setCountryOrRegion:@"Russian Federation"];
[address setPostalCode:@"RU-34621"];
[company setAddress:address];
[company setWebUrl:@"https://www.adventureworks.com"];
[detail setCompany:company];
[detail setJobTitle:@"Senior Product Branding Manager II"];
[detail setRole:@"consulting"];
[workPosition setDetail:detail];
[workPosition setIsCurrent: true];
NSError *error;
NSData *workPositionData = [workPosition getSerializedDataWithError:&error];
[urlRequest setHTTPBody:workPositionData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
WorkPosition workPosition = new WorkPosition();
PositionDetail detail = new PositionDetail();
CompanyDetail company = new CompanyDetail();
company.displayName = "Adventureworks Ltd.";
company.department = "Consulting";
company.officeLocation = "AW23/344";
PhysicalAddress address = new PhysicalAddress();
address.type = PhysicalAddressType.BUSINESS;
address.street = "123 Patriachy Ponds";
address.city = "Moscow";
address.countryOrRegion = "Russian Federation";
address.postalCode = "RU-34621";
company.address = address;
company.webUrl = "https://www.adventureworks.com";
detail.company = company;
detail.jobTitle = "Senior Product Branding Manager II";
detail.role = "consulting";
workPosition.detail = detail;
workPosition.isCurrent = true;
graphClient.me().profile().positions()
.buildRequest()
.post(workPosition);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewWorkPosition()
detail := msgraphsdk.NewPositionDetail()
requestBody.SetDetail(detail)
company := msgraphsdk.NewCompanyDetail()
detail.SetCompany(company)
displayName := "Adventureworks Ltd."
company.SetDisplayName(&displayName)
department := "Consulting"
company.SetDepartment(&department)
officeLocation := "AW23/344"
company.SetOfficeLocation(&officeLocation)
address := msgraphsdk.NewPhysicalAddress()
company.SetAddress(address)
type := "business"
address.SetType(&type)
street := "123 Patriachy Ponds"
address.SetStreet(&street)
city := "Moscow"
address.SetCity(&city)
countryOrRegion := "Russian Federation"
address.SetCountryOrRegion(&countryOrRegion)
postalCode := "RU-34621"
address.SetPostalCode(&postalCode)
webUrl := "https://www.adventureworks.com"
company.SetWebUrl(&webUrl)
jobTitle := "Senior Product Branding Manager II"
detail.SetJobTitle(&jobTitle)
role := "consulting"
detail.SetRole(&role)
isCurrent := true
requestBody.SetIsCurrent(&isCurrent)
result, err := graphClient.Me().Profile().Positions().Post(requestBody)
Import-Module Microsoft.Graph.People
$params = @{
Detail = @{
Company = @{
DisplayName = "Adventureworks Ltd."
Department = "Consulting"
OfficeLocation = "AW23/344"
Address = @{
Type = "business"
Street = "123 Patriachy Ponds"
City = "Moscow"
CountryOrRegion = "Russian Federation"
PostalCode = "RU-34621"
}
WebUrl = "https://www.adventureworks.com"
}
JobTitle = "Senior Product Branding Manager II"
Role = "consulting"
}
IsCurrent = $true
}
# A UPN can also be used as -UserId.
New-MgUserProfilePosition -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,
"categories": null,
"detail": {
"company": {
"displayName": "Adventureworks Ltd.",
"pronunciation": null,
"department": "Consulting",
"officeLocation": "AW23/344",
"address": {
"type": "business",
"postOfficeBox": null,
"street": "123 Patriachy Ponds",
"city": "Moscow",
"state": null,
"countryOrRegion": "Russian Federation",
"postalCode": "RU-34621"
},
"webUrl": "https://www.adventureworks.com"
},
"description": null,
"endMonthYear": null,
"jobTitle": "Senior Product Branding Manager II",
"role": "consulting",
"startMonthYear": "datetime-value",
"summary": null
},
"manager": null,
"colleagues": null,
"isCurrent": true
}