Un service qui vous permet d'enregistrer le jeu d'imprimantes en tant que terminal dans votre compte Google et d'imprimer depuis un autre terminal via le cloud.
--Paramètres requis pour l'impression --Obtenir un compte Google --Installez le navigateur Chrome
Enregistrez l'imprimante Google CloudPrint en vous reportant à ce qui suit. https://www.google.com/cloudprint/learn/
Accédez à GoogleCloudPratform et enregistrez vos informations d'identification.
https://console.cloud.google.com/
Sélectionnez [API et services] → [Informations d'identification] → [Créer des informations d'identification] → [ID client OAuth]
Cette fois, c'est un essai, alors sélectionnez [Autre]
Obtenez l'ID client et le secret client (seront utilisés plus tard)
Définissez l'URL de l'ID client obtenu et accédez directement au navigateur https://accounts.google.com/o/oauth2/auth?redirect_uri=oob&response_type=code&client_id=<ここに上記で取得したクライアントIDを指定>&scope=https://www.googleapis.com/auth/cloudprint
Sélectionnez [Autoriser]
Obtenez le code
(sera utilisé plus tard)
Cette fois, je vais l'exécuter en utilisant Unirest de Java. Prenez et décrivez uniquement les processus importants
getRefreshToken
HttpResponse<JsonNode> res = Unirest.post("https://www.googleapis.com/oauth2/v3/token")
.field("code", code) //Définissez le code obtenu à l'avance
.field("client_id", client_id) //Définissez l'ID client obtenu à l'avance
.field("client_secret", client_secret) //Définir le secret client obtenu à l'avance
.field("grant_type", "authorization_code")
.field("redirect_uri", "oob")
.asJson();
Obtenez un jeton d'actualisation. Une fois que vous utilisez le code, vous ne pouvez plus l'utiliser, donc si vous ne connaissez pas le jeton d'actualisation, vous devez obtenir le code à l'avance.
getAccessToken
HttpResponse<JsonNode> res = Unirest.post("https://www.googleapis.com/oauth2/v3/token")
.field("client_id", client_id) //Définissez l'ID client obtenu à l'avance
.field("client_secret", client_secret) //Définir le secret client obtenu à l'avance
.field("grant_type", "refresh_token")
.field("refresh_token", refresh_token) //Définir le jeton d'actualisation acquis par getRefreshToken
.asJson();
Obtenez un jeton d'accès. Obtenez un jeton d'accès du jeton d'actualisation à chaque fois. Configurez pour obtenir un jeton d'accès chaque fois que vous accédez à l'imprimante.
getPrinters
HttpResponse<JsonNode> res = Unirest.get("https://www.google.com/cloudprint/search")
.header("Authorization", token_type + " " + access_token)
.asJson();
Obtenez la liste des imprimantes définies dans Google Cloud Print.
submitFile
HttpResponse<JsonNode> res = Unirest.post("https://www.google.com/cloudprint/submit")
.header("Authorization", token_type + " " + access_token)
.field("printerid", printerid) //Définir l'ID de l'imprimante: le lecteur Google par défaut est[__google__docs]est.
.field("title", file.getName())
.field("ticket", gson.toJson(new TicketBean()))
.field("content", file)
.asJson();
Envoyez une demande à Google CloudPrint pour imprimer un fichier PDF local. Le fichier est de type java.io.File.
Par exemple, un processus de création dynamique de PDF est implémenté côté serveur et l'impression est effectuée sur plusieurs imprimantes côté client. Ce sera un mécanisme qui peut être facilement réalisé.
C'est difficile maintenant car je dois enregistrer l'imprimante dans mon compte Finalement, le jour peut venir où vous n'avez pas besoin de fax.
Recommended Posts