Namespace: microsoft.graph
Atualizar as propriedades de um compartilhamento de impressora. Este método pode ser usado para impressoras de troca.
Por exemplo, se um dispositivo de impressora física quebrar, um administrador poderá registrar um novo dispositivo de impressora e atualizar esse printerShare para apontar para a nova impressora sem exigir que os usuários executem qualquer ação.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global |
Governo dos EUA L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
| Tipo de permissão |
Permissões menos privilegiadas |
Permissões com privilégios mais elevados |
| Delegado (conta corporativa ou de estudante) |
PrinterShare.ReadWrite.All |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Aplicativo |
Sem suporte. |
Sem suporte. |
Solicitação HTTP
PATCH /print/shares/{printerShareId}
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo da solicitação, forneça os valores dos campos printerShare relevantes que devem ser atualizados. As propriedades existentes que não estão incluídas no corpo da solicitação mantêm seus valores anteriores ou são recalculadas com base nas alterações de outros valores de propriedade. Para alcançar o melhor desempenho, não inclua valores existentes que não foram alterados.
As seguintes propriedades podem ser atualizadas:
| Propriedade |
Tipo |
Descrição |
| impressora |
Microsoft.Graph.Printer |
A impressora à qual este compartilhamento de impressora está relacionado. Use a printer@odata.bind sintaxe mostrada no exemplo a seguir para atualizar a qual impressora esse compartilhamento de impressora está associado. |
| displayName |
Cadeia de caracteres |
O nome do compartilhamento de impressora que os clientes de impressão devem exibir. |
| allowAllUsers |
Booliano |
Se for true, todos os usuários e grupos receberão acesso a esse compartilhamento de impressora. Isso substitui as listas de permitidos definidas pelas propriedades de navegação allowedUsers e allowedGroups. |
Observação
Se você estiver atualizando a propriedade da impressora , outras propriedades não poderão ser atualizadas na mesma solicitação.
Resposta
Se for bem-sucedido, esse método retornará um código de 200 OK resposta e um objeto printerShare atualizado no corpo da resposta.
Exemplos
Solicitação
PATCH https://graph.microsoft.com/v1.0/print/shares/{printerShareId}
Content-Type: application/json
{
"displayName": "PrinterShare Name",
"printer@odata.bind": "https://graph.microsoft.com/v1.0/print/printers/{printerId}",
"allowAllUsers": false
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new PrinterShare
{
DisplayName = "PrinterShare Name",
AllowAllUsers = false,
AdditionalData = new Dictionary<string, object>
{
{
"printer@odata.bind" , "https://graph.microsoft.com/v1.0/print/printers/{printerId}"
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Print.Shares["{printerShare-id}"].PatchAsync(requestBody);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewPrinterShare()
displayName := "PrinterShare Name"
requestBody.SetDisplayName(&displayName)
allowAllUsers := false
requestBody.SetAllowAllUsers(&allowAllUsers)
additionalData := map[string]interface{}{
"printer@odata.bind" : "https://graph.microsoft.com/v1.0/print/printers/{printerId}",
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
shares, err := graphClient.Print().Shares().ByPrinterShareId("printerShare-id").Patch(context.Background(), requestBody, nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
PrinterShare printerShare = new PrinterShare();
printerShare.setDisplayName("PrinterShare Name");
printerShare.setAllowAllUsers(false);
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("printer@odata.bind", "https://graph.microsoft.com/v1.0/print/printers/{printerId}");
printerShare.setAdditionalData(additionalData);
PrinterShare result = graphClient.print().shares().byPrinterShareId("{printerShare-id}").patch(printerShare);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const printerShare = {
displayName: 'PrinterShare Name',
'printer@odata.bind': 'https://graph.microsoft.com/v1.0/print/printers/{printerId}',
allowAllUsers: false
};
await client.api('/print/shares/{printerShareId}')
.update(printerShare);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\PrinterShare;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new PrinterShare();
$requestBody->setDisplayName('PrinterShare Name');
$requestBody->setAllowAllUsers(false);
$additionalData = [
'printer@odata.bind' => 'https://graph.microsoft.com/v1.0/print/printers/{printerId}',
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->escapedPrint()->shares()->byPrinterShareId('printerShare-id')->patch($requestBody)->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Import-Module Microsoft.Graph.Devices.CloudPrint
$params = @{
displayName = "PrinterShare Name"
"printer@odata.bind" = "https://graph.microsoft.com/v1.0/print/printers/{printerId}"
allowAllUsers = $false
}
Update-MgPrintShare -PrinterShareId $printerShareId -BodyParameter $params
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.printer_share import PrinterShare
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = PrinterShare(
display_name = "PrinterShare Name",
allow_all_users = False,
additional_data = {
"printer@odata_bind" : "https://graph.microsoft.com/v1.0/print/printers/{printerId}",
}
)
result = await graph_client.print.shares.by_printer_share_id('printerShare-id').patch(request_body)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#print/shares/$entity",
"id": "d837c17b-3296-4384-a053-828d56e10f50",
"displayName": "PrinterShare Name",
"createdDateTime": "2020-02-04T00:00:00.0000000Z",
"isAcceptingJobs": true,
"allowAllUsers": false,
"status": {
"state": "stopped",
"details": ["disconnected"],
"description": ""
}
}