创建 printerShare
命名空间:microsoft.graph
新建 printerShare for the specified printer。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
若要使用通用打印服务,除了下表中列出的权限之外,用户或应用的租户还必须具有活动的通用打印订阅。 登录的用户必须是打印机 管理员。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
PrinterShare.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
不支持。 |
HTTP 请求
POST /print/shares
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供 printerShare 对象的 JSON 表示形式。
下表显示创建 printerShare时提供的属性。
| 属性 |
类型 |
Description |
是否必需? |
| 打印机 |
microsoft.graph.printer |
此打印机共享相关的打印机。 使用 printer@odata.bind 语法,如以下示例所示。 |
是 |
| displayName |
String |
打印客户端应显示的打印机共享的名称。 允许的最大长度为 50 个字符。 |
是 |
| allowAllUsers |
布尔 |
如果 true 为 ,将授予所有用户和组对此打印机共享的访问权限。 这将取代 allowedUsers 和 allowedGroups 导航属性定义的允许列表。 |
否 |
响应
如果成功,此方法在响应 201 Created 正文中返回 响应代码和 printerShare 对象。
示例
请求
POST https://graph.microsoft.com/v1.0/print/shares
Content-Type: application/json
{
"displayName": "ShareName",
"allowAllUsers": false,
"printer@odata.bind": "https://graph.microsoft.com/v1.0/print/printers/{printerId}"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var printerShare = new PrinterShare
{
DisplayName = "ShareName",
AllowAllUsers = false,
AdditionalData = new Dictionary<string, object>()
{
{"printer@odata.bind", "https://graph.microsoft.com/v1.0/print/printers/{printerId}"}
}
};
await graphClient.Print.Shares
.Request()
.AddAsync(printerShare);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const printerShare = {
displayName: 'ShareName',
allowAllUsers: false,
'printer@odata.bind': 'https://graph.microsoft.com/v1.0/print/printers/{printerId}'
};
await client.api('/print/shares')
.post(printerShare);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/print/shares"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphPrinterShare *printerShare = [[MSGraphPrinterShare alloc] init];
[printerShare setDisplayName:@"ShareName"];
[printerShare setAllowAllUsers: false];
NSError *error;
NSData *printerShareData = [printerShare getSerializedDataWithError:&error];
[urlRequest setHTTPBody:printerShareData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
PrinterShare printerShare = new PrinterShare();
printerShare.displayName = "ShareName";
printerShare.allowAllUsers = false;
printerShare.additionalDataManager().put("printer@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/print/printers/{printerId}"));
graphClient.print().shares()
.buildRequest()
.post(printerShare);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewPrinterShare()
displayName := "ShareName"
requestBody.SetDisplayName(&displayName)
allowAllUsers := false
requestBody.SetAllowAllUsers(&allowAllUsers)
requestBody.SetAdditionalData(map[string]interface{}{
"printer@odata.bind": "https://graph.microsoft.com/v1.0/print/printers/{printerId}",
}
result, err := graphClient.Print().Shares().Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.Devices.CloudPrint
$params = @{
DisplayName = "ShareName"
AllowAllUsers = $false
"Printer@odata.bind" = "https://graph.microsoft.com/v1.0/print/printers/{printerId}"
}
New-MgPrintShare -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#print/shares/$entity",
"id": "d837c17b-3296-4384-a053-828d56e10f50",
"displayName": "ShareName",
"createdDateTime": "2020-02-04T00:00:00.0000000Z",
"isAcceptingJobs": true,
"allowAllUsers": false,
"status": {
"state": "ready",
"details": [],
"description": ""
}
}