Namespace: microsoft.graph
Wichtig
Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.
Erstellen Sie einen standardmäßigen oder temporären QR-Code, wenn kein aktiver QR-Code vorhanden ist, oder aktualisieren Sie einen standardmäßigen QR-Code. Nur die expireDateTime-Eigenschaft kann für einen standardmäßigen QR-Code aktualisiert werden.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
| Weltweiter Service |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
| Berechtigungstyp |
Berechtigungen mit den geringsten Berechtigungen |
Berechtigungen mit höheren Berechtigungen |
| Delegiert (Geschäfts-, Schul- oder Unikonto) |
UserAuthenticationMethod.ReadWrite.All |
UserAuthMethod-QR.ReadWrite, UserAuthMethod-QR.ReadWrite.All, UserAuthenticationMethod.ReadWrite |
| Delegiert (persönliches Microsoft-Konto) |
Nicht unterstützt |
Nicht unterstützt |
| Application |
UserAuthenticationMethod.ReadWrite.All |
UserAuthMethod-QR.ReadWrite.All |
Wichtig
In delegierten Szenarien mit Geschäfts-, Schul- oder Unikonten, in denen der angemeldete Benutzer auf einen anderen Benutzer agiert, muss ihm eine unterstützte Microsoft Entra Rolle oder eine benutzerdefinierte Rolle mit einer unterstützten Rollenberechtigung zugewiesen werden. Die folgenden Rollen mit den geringsten Berechtigungen werden für diesen Vorgang unterstützt.
- Authentifizierungsadministrator
- Privilegierter Authentifizierungsadministrator
HTTP-Anforderung
Aktualisieren Sie Ihren eigenen QR-Code.
Hinweis
Das Aufrufen des /me-Endpunkts erfordert einen angemeldeten Benutzer und daher eine delegierte Berechtigung. Anwendungsberechtigungen werden bei Verwendung des /me Endpunkts nicht unterstützt.
PATCH /me/authentication/qrCodePinMethod/standardQRCode
PATCH /me/authentication/qrCodePinMethod/temporaryQRCode
Aktualisieren des QR-Codes eines anderen Benutzers.
Hinweis
Wenn Sie den /users/{id} Endpunkt mit {id} aufrufen, der den angemeldeten Benutzer darstellt, sind die am wenigsten privilegierten delegierten Berechtigungen UserAuthenticationMethod.Read für Lesevorgänge und UserAuthenticationMethod.ReadWrite für Schreibvorgänge.
PATCH /users/{id}/authentication/qrCodePinMethod/standardQRCode
PATCH /users/{id}/authentication/qrCodePinMethod/temporaryQRCode
Anforderungstext
Geben Sie im Anforderungstext nur die Werte für zu aktualisierende Eigenschaften an. Vorhandene Eigenschaften, die nicht im Anforderungstext enthalten sind, behalten ihre vorherigen Werte bei oder werden basierend auf Änderungen an anderen Eigenschaftswerten neu berechnet.
In der folgenden Tabelle sind die Eigenschaften angegeben, die aktualisiert werden können.
| Eigenschaft |
Typ |
Beschreibung |
| startDateTime |
DateTimeOffset |
Das Datum und die Uhrzeit, zu dem der QR-Code verwendet werden kann. |
| expireDateTime |
DateTimeOffset |
Der QR-Code läuft ab und wird basierend auf dem Wert dieser Eigenschaft unbrauchbar. Diese Eigenschaft kann für einen Standard-QR-Code bis zur maximalen Lebensdauer von 395 Tagen ab dem StartDateTime-Wert geändert werden. Diese Eigenschaft kann für einen temporären QR-Code nicht geändert werden. |
Antwort
Bei erfolgreicher Ausführung gibt die Methode einen 201 Created Antwortcode und ein aktualisiertes qrCode-Objekt im Antworttext zurück. Das QR-Codebild wird nur beim Erstellen eines QR-Codeobjekts zurückgegeben. Es wird nicht zurückgegeben, wenn ein Standardmäßiges QR-Codeobjekt aktualisiert wird.
Beispiele zum Erstellen eines STANDARDMÄßIGEN QR-Codes
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
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)
Antwort
Das folgende Beispiel zeigt die Antwort.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
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"
}
}
Beispiele zum Aktualisieren eines standardmäßigen QR-Codes
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
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)
Antwort
Das folgende Beispiel zeigt die Antwort.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
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
}