Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Crie um código QR padrão ou temporário, se não existir nenhum código QR ativo, ou atualize um código QR padrão. Apenas a propriedade expireDateTime pode ser atualizada para um código QR padrã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) |
UserAuthenticationMethod.ReadWrite.All |
UserAuthMethod-QR.ReadWrite, UserAuthMethod-QR.ReadWrite.All, UserAuthenticationMethod.ReadWrite |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
UserAuthenticationMethod.ReadWrite.All |
UserAuthMethod-QR.ReadWrite.All |
Importante
Em cenários delegados com contas escolares ou profissionais em que o utilizador com sessão iniciada está a agir sobre outro utilizador, tem de lhes ser atribuída uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação.
- Administrador de Autenticação
- Administrador de Autenticação Privilegiada
Solicitação HTTP
Atualize o seu próprio Código QR.
Observação
Chamar o ponto de extremidade /me exige um usuário conectado e, portanto, uma permissão delegada. As permissões de aplicação não são suportadas ao utilizar o /me ponto final.
PATCH /me/authentication/qrCodePinMethod/standardQRCode
PATCH /me/authentication/qrCodePinMethod/temporaryQRCode
Atualize o Código QR de outro utilizador.
Observação
Ao chamar o /users/{id} ponto final com {id} a representação do utilizador com sessão iniciada, as permissões delegadas com menos privilégios são UserAuthenticationMethod.Read para operações de leitura e UserAuthenticationMethod.ReadWrite para operações de escrita.
PATCH /users/{id}/authentication/qrCodePinMethod/standardQRCode
PATCH /users/{id}/authentication/qrCodePinMethod/temporaryQRCode
| 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 apenas os valores das propriedades a atualizar. 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.
A tabela a seguir especifica as propriedades que podem ser atualizadas.
| Propriedade |
Tipo |
Descrição |
| startDateTime |
DateTimeOffset |
A data e hora em que o código QR fica disponível para utilização. |
| expireDateTime |
DateTimeOffset |
O código QR expira e torna-se inutilizável com base no valor desta propriedade. Esta propriedade pode ser modificada para um código QR padrão até à duração máxima de 395 dias a partir do valor startDateTime . Esta propriedade não pode ser modificada para um código QR temporário. |
Resposta
Se for bem-sucedido, este método devolve um 201 Created código de resposta e um objeto qrCode atualizado no corpo da resposta. A imagem de código QR só é devolvida ao criar um objeto de código QR. Não é devolvido ao atualizar um objeto de código QR padrão.
Exemplos para criar um código QR padrão
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/beta/users/7c4999f7-9c25-4f8e-8b84-766eb28a1b49/authentication/qrCodePinMethod/standardQRCode
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.qrCode",
"expireDateTime": "2025-12-19T12:00:00Z",
"startDateTime": "2025-01-01T12:00:00Z",
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new QrCode
{
OdataType = "#microsoft.graph.qrCode",
ExpireDateTime = DateTimeOffset.Parse("2025-12-19T12:00:00Z"),
StartDateTime = DateTimeOffset.Parse("2025-01-01T12:00:00Z"),
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].Authentication.QrCodePinMethod.StandardQRCode.PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewQrCode()
expireDateTime , err := time.Parse(time.RFC3339, "2025-12-19T12:00:00Z")
requestBody.SetExpireDateTime(&expireDateTime)
startDateTime , err := time.Parse(time.RFC3339, "2025-01-01T12:00:00Z")
requestBody.SetStartDateTime(&startDateTime)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
standardQRCode, err := graphClient.Users().ByUserId("user-id").Authentication().QrCodePinMethod().StandardQRCode().Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
QrCode qrCode = new QrCode();
qrCode.setOdataType("#microsoft.graph.qrCode");
OffsetDateTime expireDateTime = OffsetDateTime.parse("2025-12-19T12:00:00Z");
qrCode.setExpireDateTime(expireDateTime);
OffsetDateTime startDateTime = OffsetDateTime.parse("2025-01-01T12:00:00Z");
qrCode.setStartDateTime(startDateTime);
QrCode result = graphClient.users().byUserId("{user-id}").authentication().qrCodePinMethod().standardQRCode().patch(qrCode);
const options = {
authProvider,
};
const client = Client.init(options);
const qrCode = {
'@odata.type': '#microsoft.graph.qrCode',
expireDateTime: '2025-12-19T12:00:00Z',
startDateTime: '2025-01-01T12:00:00Z',
};
await client.api('/users/7c4999f7-9c25-4f8e-8b84-766eb28a1b49/authentication/qrCodePinMethod/standardQRCode')
.version('beta')
.update(qrCode);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\QrCode;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new QrCode();
$requestBody->setOdataType('#microsoft.graph.qrCode');
$requestBody->setExpireDateTime(new \DateTime('2025-12-19T12:00:00Z'));
$requestBody->setStartDateTime(new \DateTime('2025-01-01T12:00:00Z'));
$result = $graphServiceClient->users()->byUserId('user-id')->authentication()->qrCodePinMethod()->standardQRCode()->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.SignIns
$params = @{
"@odata.type" = "#microsoft.graph.qrCode"
expireDateTime = [System.DateTime]::Parse("2025-12-19T12:00:00Z")
startDateTime = [System.DateTime]::Parse("2025-01-01T12:00:00Z")
}
Update-MgBetaUserAuthenticationQrCodePinMethodStandardQrCode -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.qr_code import QrCode
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = QrCode(
odata_type = "#microsoft.graph.qrCode",
expire_date_time = "2025-12-19T12:00:00Z",
start_date_time = "2025-01-01T12:00:00Z",
)
result = await graph_client.users.by_user_id('user-id').authentication.qr_code_pin_method.standard_q_r_code.patch(request_body)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.qrCode",
"id": "44f2f040-ea9d-4283-9e7b-b63ddae391a9",
"expireDateTime": "2025-12-19T12:00:00Z",
"startDateTime": "2025-01-01T12:00:00Z",
"createdDateTime": "2025-03-04T21:27:46.9771036Z",
"lastUsedDateTime": "0001-01-01T00:00:00Z",
"image": {
"@odata.type": "#microsoft.graph.qrCodeImageDetails",
"binaryValue": "SGVsbG9Xb3JsZCE=",
"version": 1,
"errorCorrectionLevel": "l",
"rawContent": "SGVsbG9Xb3JsZCEyTXlSYXdDb250ZW50"
}
}
Exemplos para atualizar um código QR padrão
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/beta/me/authentication/qrCodePinMethod/standardQRCode
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.qrCode",
"expireDateTime": "2025-12-01T12:00:00Z",
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new QrCode
{
OdataType = "#microsoft.graph.qrCode",
ExpireDateTime = DateTimeOffset.Parse("2025-12-01T12:00:00Z"),
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Authentication.QrCodePinMethod.StandardQRCode.PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewQrCode()
expireDateTime , err := time.Parse(time.RFC3339, "2025-12-01T12:00:00Z")
requestBody.SetExpireDateTime(&expireDateTime)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
standardQRCode, err := graphClient.Me().Authentication().QrCodePinMethod().StandardQRCode().Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
QrCode qrCode = new QrCode();
qrCode.setOdataType("#microsoft.graph.qrCode");
OffsetDateTime expireDateTime = OffsetDateTime.parse("2025-12-01T12:00:00Z");
qrCode.setExpireDateTime(expireDateTime);
QrCode result = graphClient.me().authentication().qrCodePinMethod().standardQRCode().patch(qrCode);
const options = {
authProvider,
};
const client = Client.init(options);
const qrCode = {
'@odata.type': '#microsoft.graph.qrCode',
expireDateTime: '2025-12-01T12:00:00Z',
};
await client.api('/me/authentication/qrCodePinMethod/standardQRCode')
.version('beta')
.update(qrCode);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\QrCode;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new QrCode();
$requestBody->setOdataType('#microsoft.graph.qrCode');
$requestBody->setExpireDateTime(new \DateTime('2025-12-01T12:00:00Z'));
$result = $graphServiceClient->me()->authentication()->qrCodePinMethod()->standardQRCode()->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.SignIns
$params = @{
"@odata.type" = "#microsoft.graph.qrCode"
expireDateTime = [System.DateTime]::Parse("2025-12-01T12:00:00Z")
}
# A UPN can also be used as -UserId.
Update-MgBetaUserAuthenticationQrCodePinMethodStandardQrCode -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.qr_code import QrCode
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = QrCode(
odata_type = "#microsoft.graph.qrCode",
expire_date_time = "2025-12-01T12:00:00Z",
)
result = await graph_client.me.authentication.qr_code_pin_method.standard_q_r_code.patch(request_body)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.qrCode",
"id": "44f2f040-ea9d-4283-9e7b-b63ddae391a9",
"expireDateTime": "2025-12-01T12:00:00Z",
"startDateTime": "2025-01-01T12:00:00Z",
"createdDateTime": "2025-03-04T21:27:46.9771036Z",
"lastUsedDateTime": "0001-01-01T00:00:00Z",
"image": null
}