2013-11-04 9 views

Antwort

14

Ich glaube, Sie werden die Begegnung mit dem „anhängig“ -Problem. Sie haben nämlich Ihren Drucker mit dem Konto "[email protected]" freigegeben, aber der andere Benutzer (in diesem Fall "[email protected]") muss die Einladung zur Freigabe des Druckers akzeptieren. Sie können dies überprüfen, indem Sie die /print Anforderung ausgibt und Sie erhalten eine

"is_pending" sehen: true

Element im access Abschnitt für Ihren Benutzer - "[email protected]" in dieser Fall. Nadeln sagen, dass Konten, bei denen dieses Element auf True festgelegt ist, nicht drucken können - daher der "Benutzer ist nicht autorisiert." Botschaft. Ich kenne keine Möglichkeit, die Einladung für das angegebene Dienstkonto anzunehmen. Es gibt jedoch eine Problemumgehung. Sie können eine private Google-Gruppe mit einem Konto erstellen, das freigegebene Drucker (z. B. Ihr Google Mail-Konto) akzeptiert. Dann fügen Sie der Gruppe et voila das Dienstkonto ("[email protected]") hinzu. Sie können mit dem Dienstkonto drucken;). Wenn Sie den Drucker freigeben, müssen Sie ihn mit der Google-Gruppe teilen (verwenden Sie die E-Mail-Adresse der Gruppe, die Sie irgendwo in der Gruppenverwaltungskonsole finden), und der Gruppenmanager (z. B. Ihr Google Mail-Konto) muss die Einladung für die gesamte Gruppe annehmen. Weitere Informationen zum Erstellen der Gruppe finden Sie unter here. Ich habe das mit einem GAE-Dienstkonto versucht und es funktioniert. Wenn Sie eine Klärung benötigen, zögern Sie nicht zu fragen. Viel Glück.

+0

DANKE SEHR VIEL! Das funktioniert "gut genug" für jetzt! – Chris

+0

Du bist ein absolutes Genie. – Sophtware

10

Da Sie selbst den Drucker mit dem Dienstkonto geteilt haben, können Sie davon ausgehen, dass Sie die "Drucker-ID" des Druckers kennen, zu dem das Dienstkonto eingeladen wurde.

Haben das Dienstkonto rufen Sie die /processinvite Anfrage, mit diesen (obligatorisch) Parameter:

  • printerid = der bekannten-Drucker-ID
  • accept = true

Nach dass der Drucker in /search

erscheint

Happy Drucken!

+2

Das funktioniert und Ihre Antwort ist der einzige Ort im Internet, der "dokumentiert" ist. –

+1

Kann bestätigen - das funktioniert perfekt! 1) Teilen Sie den Drucker über das Cloud Print-Dashboard mit dem Dienstkonto. 2) Haben Sie das Service-Konto POST '/ processinvite' - der einfachste Weg, um die Drucker-ID zu bekommen, ist es von der URL der Dashboard-Seite zu kopieren (' https://www.google.com/cloudprint#printers/ ') – Wolfgang

+2

Ich habe diesen Befehl zu einer Bibliothek mit Beispielcode für den Prozess bei https://github.com/io7/GoogleCloudPrint hinzugefügt – mstrange