命名空间:microsoft.graph
重要
Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
更新用户配置文件中 projectParticipation 对象的属性。
此 API 可用于以下国家级云部署。
| 全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
| ✅ |
✅ |
✅ |
✅ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 |
最低特权权限 |
更高特权权限 |
| 委派(工作或学校帐户) |
User.ReadWrite |
AgentIdUser.ReadWrite.All、AgentIdUser.ReadWrite.IdentityParentedBy、User.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
User.ReadWrite |
不可用。 |
| 应用程序 |
不支持。 |
不支持。 |
HTTP 请求
PATCH /me/profile/projects/{id}
PATCH /users/{id | userPrincipalName}/profile/projects/{id}
| 名称 |
说明 |
| Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
| Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,提供应更新的相关字段的值。 请求正文中未包含的现有属性会保留其以前的值,或者根据对其他属性值的更改重新计算。 为了获得最佳性能,请勿加入尚未更改的现有值。
| 属性 |
类型 |
说明 |
| allowedAudiences |
String |
能够查看实体中包含的值的访问群体。 继承自 itemFacet。 可能的值为:me、、family、contacts、groupMembersorganization、federatedOrganizations、everyone、 。 unknownFutureValue |
| 类别 |
String collection |
包含用户与项目关联的类别, (例如数字化转型、石油钻机) 。 |
| 客户 |
companyDetail |
包含有关项目所针对的客户端的详细信息。 |
| collaborationTags |
字符串集合 |
包含用户与兴趣关联的体验方案标记。 集合中允许的值为: askMeAbout、 ableToMentor、 wantsToLearn、 wantsToImprove。 |
| 同事 |
relatedPerson 集合 |
列出也处理过该项目的人员。 |
| 详细 |
positionDetail |
包含有关用户在项目上的角色的详细信息。 |
| displayName |
String |
包含项目的友好名称。 |
| 推理 |
inferenceData |
如果实体是由创建或修改应用程序推断的,则包含推理详细信息。 继承自 itemFacet。 |
| 赞助商 |
relatedPerson 集合 |
赞助项目的一个或多个人员。 |
响应
如果成功,此方法在响应正文中返回响应 200 OK 代码和更新 的 projectParticipation 对象。
示例
请求
以下示例显示了一个请求。
PATCH https://graph.microsoft.com/beta/me/profile/projects/{id}
Content-type: application/json
{
"allowedAudiences": "organization",
"client": {
"department": "Corporate Marketing",
"webUrl": "https://www.contoso.com"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new ProjectParticipation
{
AllowedAudiences = AllowedAudiences.Organization,
Client = new CompanyDetail
{
Department = "Corporate Marketing",
WebUrl = "https://www.contoso.com",
},
};
// To initialize your graphClient, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Profile.Projects["{projectParticipation-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.NewProjectParticipation()
allowedAudiences := graphmodels.ORGANIZATION_ALLOWEDAUDIENCES
requestBody.SetAllowedAudiences(&allowedAudiences)
client := graphmodels.NewCompanyDetail()
department := "Corporate Marketing"
client.SetDepartment(&department)
webUrl := "https://www.contoso.com"
client.SetWebUrl(&webUrl)
requestBody.SetClient(client)
// To initialize your graphClient, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=go
projects, err := graphClient.Me().Profile().Projects().ByProjectParticipationId("projectParticipation-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);
ProjectParticipation projectParticipation = new ProjectParticipation();
projectParticipation.setAllowedAudiences(EnumSet.of(AllowedAudiences.Organization));
CompanyDetail client = new CompanyDetail();
client.setDepartment("Corporate Marketing");
client.setWebUrl("https://www.contoso.com");
projectParticipation.setClient(client);
ProjectParticipation result = graphClient.me().profile().projects().byProjectParticipationId("{projectParticipation-id}").patch(projectParticipation);
const options = {
authProvider,
};
const client = Client.init(options);
const projectParticipation = {
allowedAudiences: 'organization',
client: {
department: 'Corporate Marketing',
webUrl: 'https://www.contoso.com'
}
};
await client.api('/me/profile/projects/{id}')
.version('beta')
.update(projectParticipation);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\ProjectParticipation;
use Microsoft\Graph\Beta\Generated\Models\AllowedAudiences;
use Microsoft\Graph\Beta\Generated\Models\CompanyDetail;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ProjectParticipation();
$requestBody->setAllowedAudiences(new AllowedAudiences('organization'));
$client = new CompanyDetail();
$client->setDepartment('Corporate Marketing');
$client->setWebUrl('https://www.contoso.com');
$requestBody->setClient($client);
$result = $graphServiceClient->me()->profile()->projects()->byProjectParticipationId('projectParticipation-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.People
$params = @{
allowedAudiences = "organization"
client = @{
department = "Corporate Marketing"
webUrl = "https://www.contoso.com"
}
}
# A UPN can also be used as -UserId.
Update-MgBetaUserProfileProject -UserId $userId -ProjectParticipationId $projectParticipationId -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.project_participation import ProjectParticipation
from msgraph_beta.generated.models.allowed_audiences import AllowedAudiences
from msgraph_beta.generated.models.company_detail import CompanyDetail
# To initialize your graph_client, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ProjectParticipation(
allowed_audiences = AllowedAudiences.Organization,
client = CompanyDetail(
department = "Corporate Marketing",
web_url = "https://www.contoso.com",
),
)
result = await graph_client.me.profile.projects.by_project_participation_id('projectParticipation-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"
}
},
"source": null,
"categories": [
"Branding"
],
"client": {
"displayName": "Contoso Ltd.",
"pronunciation": null,
"department": "Corporate Marketing",
"officeLocation": null,
"address": null,
"webUrl": "https://www.contoso.com"
},
"displayName": "Contoso Re-branding Project",
"detail": {
"company": {
"displayName": "Adventureworks Inc.",
"pronunciation": null,
"department": "Consulting",
"companyCode": "C-100",
"officeLocation": null,
"address": null,
"webUrl": "https://adventureworks.com"
},
"description": "Rebranding of Contoso Ltd.",
"endMonthYear": "datetime-value",
"jobTitle": "Lead PM Rebranding",
"role": "project management",
"startMonthYear": "datetime-value",
"summary": "A 6 month project to help Contoso rebrand after they were divested from a parent organization."
},
"colleagues": null,
"sponsors": null
}