创建 printerShare
本文内容
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
新建 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/beta/print/shares
Content-type: application/json
{
"name": "name-value",
"printer@odata.bind": "https://graph.microsoft.com/beta/print/printers/{id}"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var printerShare = new PrinterShare
{
Name = "name-value",
AdditionalData = new Dictionary<string, object>()
{
{"printer@odata.bind", "https://graph.microsoft.com/beta/print/printers/{id}"}
}
};
await graphClient.Print.Shares
.Request()
.AddAsync(printerShare);
const options = {
authProvider,
};
const client = Client.init(options);
const printerShare = {
name: 'name-value',
'printer@odata.bind': 'https://graph.microsoft.com/beta/print/printers/{id}'
};
await client.api('/print/shares')
.version('beta')
.post(printerShare);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
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 setName:@"name-value"];
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];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
PrinterShare printerShare = new PrinterShare();
printerShare.name = "name-value";
printerShare.additionalDataManager().put("printer@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/print/printers/{id}"));
graphClient.print().shares()
.buildRequest()
.post(printerShare);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewPrinterShare()
name := "name-value"
requestBody.SetName(&name)
requestBody.SetAdditionalData(map[string]interface{}{
"printer@odata.bind": "https://graph.microsoft.com/beta/print/printers/{id}",
}
result, err := graphClient.Print().Shares().Post(requestBody)
Import-Module Microsoft.Graph.Devices.CloudPrint
$params = @{
Name = "name-value"
"Printer@odata.bind" = "https://graph.microsoft.com/beta/print/printers/{id}"
}
New-MgPrintShare -BodyParameter $params
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#print/shares/$entity",
"id": "7361c7c1-ff07-4565-9897-bef6895a7d04",
"displayName": "ShareName",
"createdDateTime": "2020-02-04T00:00:00.0000000Z"
}