命名空间:microsoft.graph
重要
Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
创建新的 approvalItem 对象。
此 API 可用于以下国家级云部署。
| 全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
| ✅ |
❌ |
❌ |
❌ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 |
最低特权权限 |
更高特权权限 |
| 委派(工作或学校帐户) |
ApprovalSolution.ReadWrite |
不可用。 |
| 委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
| 应用程序 |
不支持。 |
不支持。 |
HTTP 请求
POST /solutions/approval/approvalItems
| 名称 |
说明 |
| Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
| Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,提供 approvalItem 对象的 JSON 表示形式。
创建 approvalItem 时,可以指定以下属性。
| 属性 |
类型 |
说明 |
| displayName |
String |
审批请求的 displayName。 必需。 |
| description |
String |
审批请求的说明。 可选。 |
| allowEmailNotification |
布尔值 |
指示是否启用电子邮件通知。 可选。 |
| approvalType |
approvalItemType |
审批项的工作流类型。 可能的值包括 basic、basicAwaitAll、custom、customAwaitAll。 必填。 |
| responsePrompts |
字符串集合 |
审批响应提示。 仅在创建自定义审批项目时为此属性提供值。 对于自定义审批项,请提供两个响应提示字符串。 默认响应提示为“批准”和“拒绝”。 可选。 |
| 审批者 |
approvalIdentitySet 集合 |
最初向其分配审批项的主体的标识。 必填。 |
| owner |
approvalIdentitySet |
拥有审批项的主体的标识集。 仅在代表主体创建审批项时为此属性提供值。 如果未提供所有者字段,则使用用户上下文中的用户信息。 可选。 |
响应
如果成功,此方法返回响应 202 Accepted 代码,其中包含标头中的作位置。
示例
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/solutions/approval/approvalItems
Content-Type: application/json
{
"approvers":[
{
"user": {
"id": "39d1a7fb-5f54-4c89-b513-241683718c9b",
"displayName": "Jana Pihlak"
}
},
{
"group": {
"id": "f2926053-5479-4bce-ad4c-8394ce51d6c5"
}
}
],
"displayName":"Title of approval",
"description":"Details of approval",
"approvalType": "basic",
"allowEmailNotification": true
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new ApprovalItem
{
Approvers = new List<ApprovalIdentitySet>
{
new ApprovalIdentitySet
{
User = new Identity
{
Id = "39d1a7fb-5f54-4c89-b513-241683718c9b",
DisplayName = "Jana Pihlak",
},
},
new ApprovalIdentitySet
{
Group = new Identity
{
Id = "f2926053-5479-4bce-ad4c-8394ce51d6c5",
},
},
},
DisplayName = "Title of approval",
Description = "Details of approval",
ApprovalType = ApprovalItemType.Basic,
AllowEmailNotification = true,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Solutions.Approval.ApprovalItems.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.NewApprovalItem()
approvalIdentitySet := graphmodels.NewApprovalIdentitySet()
user := graphmodels.NewIdentity()
id := "39d1a7fb-5f54-4c89-b513-241683718c9b"
user.SetId(&id)
displayName := "Jana Pihlak"
user.SetDisplayName(&displayName)
approvalIdentitySet.SetUser(user)
approvalIdentitySet1 := graphmodels.NewApprovalIdentitySet()
group := graphmodels.NewIdentity()
id := "f2926053-5479-4bce-ad4c-8394ce51d6c5"
group.SetId(&id)
approvalIdentitySet1.SetGroup(group)
approvers := []graphmodels.ApprovalIdentitySetable {
approvalIdentitySet,
approvalIdentitySet1,
}
requestBody.SetApprovers(approvers)
displayName := "Title of approval"
requestBody.SetDisplayName(&displayName)
description := "Details of approval"
requestBody.SetDescription(&description)
approvalType := graphmodels.BASIC_APPROVALITEMTYPE
requestBody.SetApprovalType(&approvalType)
allowEmailNotification := true
requestBody.SetAllowEmailNotification(&allowEmailNotification)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
approvalItems, err := graphClient.Solutions().Approval().ApprovalItems().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ApprovalItem approvalItem = new ApprovalItem();
LinkedList<ApprovalIdentitySet> approvers = new LinkedList<ApprovalIdentitySet>();
ApprovalIdentitySet approvalIdentitySet = new ApprovalIdentitySet();
Identity user = new Identity();
user.setId("39d1a7fb-5f54-4c89-b513-241683718c9b");
user.setDisplayName("Jana Pihlak");
approvalIdentitySet.setUser(user);
approvers.add(approvalIdentitySet);
ApprovalIdentitySet approvalIdentitySet1 = new ApprovalIdentitySet();
Identity group = new Identity();
group.setId("f2926053-5479-4bce-ad4c-8394ce51d6c5");
approvalIdentitySet1.setGroup(group);
approvers.add(approvalIdentitySet1);
approvalItem.setApprovers(approvers);
approvalItem.setDisplayName("Title of approval");
approvalItem.setDescription("Details of approval");
approvalItem.setApprovalType(ApprovalItemType.Basic);
approvalItem.setAllowEmailNotification(true);
ApprovalItem result = graphClient.solutions().approval().approvalItems().post(approvalItem);
const options = {
authProvider,
};
const client = Client.init(options);
const approvalItem = {
approvers: [
{
user: {
id: '39d1a7fb-5f54-4c89-b513-241683718c9b',
displayName: 'Jana Pihlak'
}
},
{
group: {
id: 'f2926053-5479-4bce-ad4c-8394ce51d6c5'
}
}
],
displayName: 'Title of approval',
description: 'Details of approval',
approvalType: 'basic',
allowEmailNotification: true
};
await client.api('/solutions/approval/approvalItems')
.version('beta')
.post(approvalItem);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\ApprovalItem;
use Microsoft\Graph\Beta\Generated\Models\ApprovalIdentitySet;
use Microsoft\Graph\Beta\Generated\Models\Identity;
use Microsoft\Graph\Beta\Generated\Models\ApprovalItemType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ApprovalItem();
$approversApprovalIdentitySet1 = new ApprovalIdentitySet();
$approversApprovalIdentitySet1User = new Identity();
$approversApprovalIdentitySet1User->setId('39d1a7fb-5f54-4c89-b513-241683718c9b');
$approversApprovalIdentitySet1User->setDisplayName('Jana Pihlak');
$approversApprovalIdentitySet1->setUser($approversApprovalIdentitySet1User);
$approversArray []= $approversApprovalIdentitySet1;
$approversApprovalIdentitySet2 = new ApprovalIdentitySet();
$approversApprovalIdentitySet2Group = new Identity();
$approversApprovalIdentitySet2Group->setId('f2926053-5479-4bce-ad4c-8394ce51d6c5');
$approversApprovalIdentitySet2->setGroup($approversApprovalIdentitySet2Group);
$approversArray []= $approversApprovalIdentitySet2;
$requestBody->setApprovers($approversArray);
$requestBody->setDisplayName('Title of approval');
$requestBody->setDescription('Details of approval');
$requestBody->setApprovalType(new ApprovalItemType('basic'));
$requestBody->setAllowEmailNotification(true);
$result = $graphServiceClient->solutions()->approval()->approvalItems()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.approval_item import ApprovalItem
from msgraph_beta.generated.models.approval_identity_set import ApprovalIdentitySet
from msgraph_beta.generated.models.identity import Identity
from msgraph_beta.generated.models.approval_item_type import ApprovalItemType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ApprovalItem(
approvers = [
ApprovalIdentitySet(
user = Identity(
id = "39d1a7fb-5f54-4c89-b513-241683718c9b",
display_name = "Jana Pihlak",
),
),
ApprovalIdentitySet(
group = Identity(
id = "f2926053-5479-4bce-ad4c-8394ce51d6c5",
),
),
],
display_name = "Title of approval",
description = "Details of approval",
approval_type = ApprovalItemType.Basic,
allow_email_notification = True,
)
result = await graph_client.solutions.approval.approval_items.post(request_body)
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/beta/solutions/approval/operations/1a837203-b794-4cea-8def-47a7d1f89335