printer: create
Artikel
12/06/2021
3 Minuten Lesedauer
3 Mitwirkende
In diesem Artikel
Namespace: microsoft.graph
Erstellen (Registrieren) eines Druckers mit dem Universellen Druckdienst. Dies ist ein lange ausgeführter Vorgang und gibt daher eine printerCreateOperation zurück, mit der die Registrierung des Druckers nachverfolgt und überprüft werden kann.
Hilfe beim Erstellen der erforderlichen Zertifikatsignierungsanforderung (Certificate Signing Request, CSR) zum Erstellen von Druckern finden Sie im Codebeispiel zur CSR-Generierung.
Berechtigungen
Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie im Artikel zum Thema Berechtigungen .
Zusätzlich zu den folgenden Berechtigungen muss der Mandant des Benutzers über ein aktives Universal Print-Abonnement verfügen. Der angemeldete Benutzer muss ein Druckeradministrator sein.
Berechtigungstyp
Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto)
Printer.Create, Printer.ReadWrite.All, Printer.FullControl.All
Delegiert (persönliches Microsoft-Konto)
Nicht unterstützt.
Anwendung
Nicht unterstützt
HTTP-Anforderung
POST /print/printers/create
Name
Beschreibung
Authorization
Bearer {token}. Erforderlich.
Content-Type
application/json. Erforderlich.
Anforderungstext
Geben Sie im Anforderungstext eine JSON-Darstellung der Parameter an.
In der folgenden Tabelle sind die Parameter aufgeführt, die mit dieser Aktion verwendet werden können.
Parameter
Typ
Beschreibung
Pflichtfeld?
displayName
String
Der Anzeigename, der dem Drucker zugewiesen werden soll.
Ja
Hersteller
String
Der Hersteller des Druckers.
Ja
model
String
Das Modell des Druckers.
Ja
physicalDeviceId
Zeichenfolge
Die UUID des physischen Geräts des Druckers. Erforderlich, wenn die hasPhysicalDevice Eigenschaft "true" ist.
Nein
hasPhysicalDevice
Boolean
"True", wenn der Drucker über ein physisches Ausgabegerät verfügt, andernfalls "false". Wenn sie nicht angegeben wird, ist der Standardwert "true".
Nein
certificateSigningRequest
printCertificateSigningRequest
Die X.509 Certificate Signing Request (CSR) für das Zertifikat, das vom Drucker erstellt und verwendet wird, um sich selbst zu identifizieren.
Ja
connectorId
Zeichenfolge
DIE ID des Connectors, der als Proxy für den Drucker fungiert.
Nein
Antwort
Bei erfolgreicher Ausführung gibt die Methode den 202 Accepted Antwortcode und eine Verknüpfung mit dem zugeordneten printerCreateOperation-Objekt in der Operation-Location Kopfzeile zurück.
Sie stellen eine GET-Anforderung an die verknüpfte URL, um den Status einer laufenden Druckerregistrierung abzurufen. Nachdem die Druckerregistrierung erfolgreich abgeschlossen wurde, enthält eine GET-Anforderung an die verknüpfte URL das erstellte Druckerobjekt und das registrierte Zertifikat.
Beispiele
Anforderung
POST https://graph.microsoft.com/v1.0/print/printers/create
Content-Type: application/json
{
"displayName": "Test Printer",
"manufacturer": "Test Printer Manufacturer",
"model": "Test Printer Model",
"physicalDeviceId": null,
"hasPhysicalDevice": false,
"certificateSigningRequest": {
"content": "{content}",
"transportKey": "{sampleTransportKey}"
},
"connectorId": null
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var displayName = "Test Printer";
var manufacturer = "Test Printer Manufacturer";
var model = "Test Printer Model";
String physicalDeviceId = null;
var hasPhysicalDevice = false;
var certificateSigningRequest = new PrintCertificateSigningRequestObject
{
Content = "{content}",
TransportKey = "{sampleTransportKey}"
};
String connectorId = null;
await graphClient.Print.Printers
.Create(displayName,manufacturer,model,certificateSigningRequest,physicalDeviceId,hasPhysicalDevice,connectorId)
.Request()
.PostAsync();
Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation .
const options = {
authProvider,
};
const client = Client.init(options);
const create = {
displayName: 'Test Printer',
manufacturer: 'Test Printer Manufacturer',
model: 'Test Printer Model',
physicalDeviceId: null,
hasPhysicalDevice: false,
certificateSigningRequest: {
content: '{content}',
transportKey: '{sampleTransportKey}'
},
connectorId: null
};
await client.api('/print/printers/create')
.post(create);
Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation .
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/print/printers/create"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *displayName = @"Test Printer";
payloadDictionary[@"displayName"] = displayName;
NSString *manufacturer = @"Test Printer Manufacturer";
payloadDictionary[@"manufacturer"] = manufacturer;
NSString *model = @"Test Printer Model";
payloadDictionary[@"model"] = model;
payloadDictionary[@"physicalDeviceId"] = physicalDeviceId;
BOOL hasPhysicalDevice = NO;
payloadDictionary[@"hasPhysicalDevice"] = hasPhysicalDevice;
MSGraphPrintCertificateSigningRequest *certificateSigningRequest = [[MSGraphPrintCertificateSigningRequest alloc] init];
[certificateSigningRequest setContent:@"{content}"];
[certificateSigningRequest setTransportKey:@"{sampleTransportKey}"];
payloadDictionary[@"certificateSigningRequest"] = certificateSigningRequest;
payloadDictionary[@"connectorId"] = connectorId;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
String displayName = "Test Printer";
String manufacturer = "Test Printer Manufacturer";
String model = "Test Printer Model";
Boolean hasPhysicalDevice = false;
PrintCertificateSigningRequest certificateSigningRequest = new PrintCertificateSigningRequest();
certificateSigningRequest.content = "{content}";
certificateSigningRequest.transportKey = "{sampleTransportKey}";
graphClient.print().printers()
.create(PrinterCreateParameterSet
.newBuilder()
.withDisplayName(displayName)
.withManufacturer(manufacturer)
.withModel(model)
.withPhysicalDeviceId(physicalDeviceId)
.withHasPhysicalDevice(hasPhysicalDevice)
.withCertificateSigningRequest(certificateSigningRequest)
.withConnectorId(connectorId)
.build())
.buildRequest()
.post();
Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
displayName := "Test Printer"
requestBody.SetDisplayName(&displayName)
manufacturer := "Test Printer Manufacturer"
requestBody.SetManufacturer(&manufacturer)
model := "Test Printer Model"
requestBody.SetModel(&model)
requestBody.SetPhysicalDeviceId(nil)
hasPhysicalDevice := false
requestBody.SetHasPhysicalDevice(&hasPhysicalDevice)
certificateSigningRequest := msgraphsdk.NewPrintCertificateSigningRequest()
requestBody.SetCertificateSigningRequest(certificateSigningRequest)
content := "{content}"
certificateSigningRequest.SetContent(&content)
transportKey := "{sampleTransportKey}"
certificateSigningRequest.SetTransportKey(&transportKey)
requestBody.SetConnectorId(nil)
graphClient.Print().Printers().Create().Post(requestBody)
Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation .
Antwort
HTTP/1.1 202 Accepted
Operation-Location: https://graph.microsoft.com/v1.0/print/operations/f221760a-52e8-4c11-b8c5-5dfaef3a49db
Retry-After: 5