2013-11-04 23 views

risposta

14

Credo che si è verificato il problema "è in attesa". Vale a dire, hai condiviso la tua stampante con l'account "[email protected]" ma l'altro utente (in questo caso "[email protected]") deve accettare l'invito a condividere la stampante. È possibile controllare questo emettendo la richiesta /print e si vedrà un

"is_pending": true

elemento nella sezione access per l'utente - "[email protected]" in questo caso. Aghi per dire che gli account che hanno questo elemento impostato su true non possono essere stampati, quindi "l'utente non è autorizzato". Messaggio. Non conosco alcun modo per accettare l'invito per l'account di servizio indicato, tuttavia esiste una soluzione alternativa. Puoi creare un gruppo google privato con un account in grado di accettare stampanti condivise (ad esempio il tuo account Gmail). Quindi aggiungi l'account di servizio ("[email protected]") al gruppo et voilà. È possibile stampare con l'account di servizio;). Quando condividi la stampante devi condividerla con il gruppo google (usa l'indirizzo email del gruppo che puoi trovare da qualche parte nella console di gestione del gruppo) e il gestore del gruppo (ad esempio il tuo account Gmail) deve accettare l'invito per l'intero gruppo. Maggiori informazioni su come creare il gruppo possono essere trovate here. Ho provato questo con un account di servizio GAE e funziona. Se hai bisogno di chiarimenti, non esitare a chiedere. In bocca al lupo.

+0

GRAZIE MOLTO! Funziona "abbastanza bene" per ora! – Chris

+0

Sei un genio assoluto. – Sophtware

10

Dato che tu stesso hai condiviso la stampante con l'account di servizio, possiamo presumere che tu conosca l'"ID stampante" della stampante a cui è stato invitato l'account di servizio.

Avere l'account di servizio di chiamata richiesta /processinvite, con questi parametri (obbligatori):

  • printerid = la nota-printer-id
  • accept = true

Dopo che, la stampante apparirà in /search

Buona stampa!

+2

Questo funziona e la tua risposta è l'unico posto sul web che è "documentato". –

+1

Può confermare - questo funziona perfettamente! 1) Dalla dashboard di Cloud Print, condividere la stampante con l'account di servizio. 2) Avere l'account di servizio POST '/ processinvite' - il modo più semplice per ottenere l'ID della stampante è copiarlo dall'URL della pagina del dashboard (' https://www.google.com/cloudprint#printers/ ') – Wolfgang

+2

Ho aggiunto questo comando a una libreria con codice di esempio per il processo in https://github.com/io7/GoogleCloudPrint – mstrange

Problemi correlati