Namespace: microsoft.graph
Atualize as propriedades de uma partilha de impressora. Este método pode ser utilizado para trocar impressoras.
Por exemplo, se um dispositivo de impressora física falhar, um administrador pode registar um novo dispositivo de impressora e atualizar esta impressoraPartilhar para apontar para a nova impressora sem que os utilizadores efetuem qualquer ação.
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
| Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
| 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 do pedido, forneça os valores para os campos printerShare relevantes que devem ser atualizados. As propriedades existentes que não estão incluídas no corpo do pedido mantêm os valores anteriores ou são recalculadas com base em alterações a 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 esta impressora partilha está relacionada. Utilize a printer@odata.bind sintaxe conforme mostrado no exemplo seguinte para atualizar a impressora à qual esta partilha de impressora está associada. |
| displayName |
Cadeia de caracteres |
O nome da partilha de impressora que os clientes de impressão devem apresentar. |
| allowAllUsers |
Booliano |
Se for verdade, todos os utilizadores e grupos têm acesso a esta partilha de impressora. Isto substitui as listas de permissões definidas pelas propriedades de navegação allowedUsers e allowedGroups. |
Observação
Se estiver a atualizar a propriedade da impressora , não é possível atualizar outras propriedades no mesmo pedido.
Resposta
Se for bem-sucedido, este método devolve um 200 OK código de 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": ""
}
}