Espace de noms: microsoft.graph
Importante
Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Utilisez cette API pour créer un objet projectParticipation dans le profil d’un utilisateur.
Cette API est disponible dans les déploiements de cloud national suivants.
| Service global |
Gouvernement des États-Unis L4 |
Us Government L5 (DOD) |
Chine gérée par 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
| Type d’autorisation |
Autorisations avec privilèges minimum |
Autorisations privilégiées plus élevées |
| Déléguée (compte professionnel ou scolaire) |
User.ReadWrite |
AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, User.ReadWrite.All |
| Déléguée (compte Microsoft personnel) |
User.ReadWrite |
Non disponible. |
| Application |
Non prise en charge. |
Non prise en charge. |
Requête HTTP
POST /me/profile/projects
POST /users/{id | userPrincipalName}/profile/projects
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON de l’objet projectParticipation .
Le tableau suivant présente les propriétés qu’il est possible de définir lorsque vous créez un objet projectParticipation dans le profil d’un utilisateur.
| Propriété |
Type |
Description |
| allowedAudiences |
String |
Audiences qui peuvent voir les valeurs contenues dans l’entité. Hérité de itemFacet. Les valeurs possibles sont : me, family, contacts, groupMembers, organization, federatedOrganizations, everyone, , . unknownFutureValue |
| categories |
String collection |
Contient les catégories qu’un utilisateur a associées au projet (par exemple, transformation numérique, plateforme pétrolière). |
| Client |
companyDetail |
Contient des informations détaillées sur le client pour lequel le projet était destiné. |
| collaborationTags |
Collection de chaînes |
Contient les balises de scénario d’expérience qu’un utilisateur a associées à l’intérêt. Les valeurs autorisées dans la collection sont les suivantes : askMeAbout, ableToMentor, wantsToLearn, wantsToImprove. |
| Chers collègues |
collection relatedPerson |
Répertorie les personnes qui ont également travaillé sur le projet. |
| Détail |
positionDetail |
Contient des détails sur le rôle de l’utilisateur sur le projet. |
| displayName |
String |
Contient un nom convivial pour le projet. |
| Inférence |
inferenceData |
Contient les détails de l’inférence si l’entité est déduite par l’application de création ou de modification. Hérité de itemFacet. |
| source |
personDataSource |
D’où proviennent les valeurs si elles sont synchronisées à partir d’un autre service. Hérité de itemFacet. |
| Sponsors |
collection relatedPerson |
La ou les personnes qui ont parrainé le projet. |
Relations
Réponse
Si elle réussit, cette méthode renvoie 201, Created le code de réponse et un nouvel objet projectParticipation dans le corps de la réponse.
Exemples
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/beta/me/profile/projects
Content-type: application/json
{
"categories": [
"Branding"
],
"client": {
"displayName": "Contoso Ltd.",
"department": "Corporate Marketing",
"webUrl": "https://www.contoso.com"
},
"displayName": "Contoso Re-branding Project",
"detail": {
"company": {
"displayName": "Adventureworks Inc.",
"department": "Consulting",
"webUrl": "https://adventureworks.com"
},
"description": "Rebranding of Contoso Ltd.",
"jobTitle": "Lead PM Rebranding",
"role": "project management",
"summary": "A 6 month project to help Contoso rebrand after they were divested from a parent organization."
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new ProjectParticipation
{
Categories = new List<string>
{
"Branding",
},
Client = new CompanyDetail
{
DisplayName = "Contoso Ltd.",
Department = "Corporate Marketing",
WebUrl = "https://www.contoso.com",
},
DisplayName = "Contoso Re-branding Project",
Detail = new PositionDetail
{
Company = new CompanyDetail
{
DisplayName = "Adventureworks Inc.",
Department = "Consulting",
WebUrl = "https://adventureworks.com",
},
Description = "Rebranding of Contoso Ltd.",
JobTitle = "Lead PM Rebranding",
Role = "project management",
Summary = "A 6 month project to help Contoso rebrand after they were divested from a parent organization.",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Profile.Projects.PostAsync(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()
categories := []string {
"Branding",
}
requestBody.SetCategories(categories)
client := graphmodels.NewCompanyDetail()
displayName := "Contoso Ltd."
client.SetDisplayName(&displayName)
department := "Corporate Marketing"
client.SetDepartment(&department)
webUrl := "https://www.contoso.com"
client.SetWebUrl(&webUrl)
requestBody.SetClient(client)
displayName := "Contoso Re-branding Project"
requestBody.SetDisplayName(&displayName)
detail := graphmodels.NewPositionDetail()
company := graphmodels.NewCompanyDetail()
displayName := "Adventureworks Inc."
company.SetDisplayName(&displayName)
department := "Consulting"
company.SetDepartment(&department)
webUrl := "https://adventureworks.com"
company.SetWebUrl(&webUrl)
detail.SetCompany(company)
description := "Rebranding of Contoso Ltd."
detail.SetDescription(&description)
jobTitle := "Lead PM Rebranding"
detail.SetJobTitle(&jobTitle)
role := "project management"
detail.SetRole(&role)
summary := "A 6 month project to help Contoso rebrand after they were divested from a parent organization."
detail.SetSummary(&summary)
requestBody.SetDetail(detail)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
projects, err := graphClient.Me().Profile().Projects().Post(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();
LinkedList<String> categories = new LinkedList<String>();
categories.add("Branding");
projectParticipation.setCategories(categories);
CompanyDetail client = new CompanyDetail();
client.setDisplayName("Contoso Ltd.");
client.setDepartment("Corporate Marketing");
client.setWebUrl("https://www.contoso.com");
projectParticipation.setClient(client);
projectParticipation.setDisplayName("Contoso Re-branding Project");
PositionDetail detail = new PositionDetail();
CompanyDetail company = new CompanyDetail();
company.setDisplayName("Adventureworks Inc.");
company.setDepartment("Consulting");
company.setWebUrl("https://adventureworks.com");
detail.setCompany(company);
detail.setDescription("Rebranding of Contoso Ltd.");
detail.setJobTitle("Lead PM Rebranding");
detail.setRole("project management");
detail.setSummary("A 6 month project to help Contoso rebrand after they were divested from a parent organization.");
projectParticipation.setDetail(detail);
ProjectParticipation result = graphClient.me().profile().projects().post(projectParticipation);
const options = {
authProvider,
};
const client = Client.init(options);
const projectParticipation = {
categories: [
'Branding'
],
client: {
displayName: 'Contoso Ltd.',
department: 'Corporate Marketing',
webUrl: 'https://www.contoso.com'
},
displayName: 'Contoso Re-branding Project',
detail: {
company: {
displayName: 'Adventureworks Inc.',
department: 'Consulting',
webUrl: 'https://adventureworks.com'
},
description: 'Rebranding of Contoso Ltd.',
jobTitle: 'Lead PM Rebranding',
role: 'project management',
summary: 'A 6 month project to help Contoso rebrand after they were divested from a parent organization.'
}
};
await client.api('/me/profile/projects')
.version('beta')
.post(projectParticipation);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\ProjectParticipation;
use Microsoft\Graph\Beta\Generated\Models\CompanyDetail;
use Microsoft\Graph\Beta\Generated\Models\PositionDetail;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ProjectParticipation();
$requestBody->setCategories(['Branding', ]);
$client = new CompanyDetail();
$client->setDisplayName('Contoso Ltd.');
$client->setDepartment('Corporate Marketing');
$client->setWebUrl('https://www.contoso.com');
$requestBody->setClient($client);
$requestBody->setDisplayName('Contoso Re-branding Project');
$detail = new PositionDetail();
$detailCompany = new CompanyDetail();
$detailCompany->setDisplayName('Adventureworks Inc.');
$detailCompany->setDepartment('Consulting');
$detailCompany->setWebUrl('https://adventureworks.com');
$detail->setCompany($detailCompany);
$detail->setDescription('Rebranding of Contoso Ltd.');
$detail->setJobTitle('Lead PM Rebranding');
$detail->setRole('project management');
$detail->setSummary('A 6 month project to help Contoso rebrand after they were divested from a parent organization.');
$requestBody->setDetail($detail);
$result = $graphServiceClient->me()->profile()->projects()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.People
$params = @{
categories = @(
"Branding"
)
client = @{
displayName = "Contoso Ltd."
department = "Corporate Marketing"
webUrl = "https://www.contoso.com"
}
displayName = "Contoso Re-branding Project"
detail = @{
company = @{
displayName = "Adventureworks Inc."
department = "Consulting"
webUrl = "https://adventureworks.com"
}
description = "Rebranding of Contoso Ltd."
jobTitle = "Lead PM Rebranding"
role = "project management"
summary = "A 6 month project to help Contoso rebrand after they were divested from a parent organization."
}
}
# A UPN can also be used as -UserId.
New-MgBetaUserProfileProject -UserId $userId -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.company_detail import CompanyDetail
from msgraph_beta.generated.models.position_detail import PositionDetail
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ProjectParticipation(
categories = [
"Branding",
],
client = CompanyDetail(
display_name = "Contoso Ltd.",
department = "Corporate Marketing",
web_url = "https://www.contoso.com",
),
display_name = "Contoso Re-branding Project",
detail = PositionDetail(
company = CompanyDetail(
display_name = "Adventureworks Inc.",
department = "Consulting",
web_url = "https://adventureworks.com",
),
description = "Rebranding of Contoso Ltd.",
job_title = "Lead PM Rebranding",
role = "project management",
summary = "A 6 month project to help Contoso rebrand after they were divested from a parent organization.",
),
)
result = await graph_client.me.profile.projects.post(request_body)
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
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": [
"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
}