Ein Dienst, mit dem Sie den auf dem Terminal eingestellten Drucker in Ihrem Google-Konto registrieren und von einem anderen Terminal über die Cloud drucken können.
Registrieren Sie den Google CloudPrint-Drucker anhand der folgenden Anweisungen. https://www.google.com/cloudprint/learn/
Greifen Sie auf GoogleCloudPratform zu und registrieren Sie Ihre Anmeldeinformationen.
https://console.cloud.google.com/
Wählen Sie [APIs und Dienste] → [Anmeldeinformationen] → [Anmeldeinformationen erstellen] → [OAuth-Client-ID]
Diesmal ist es eine Testversion, wählen Sie also [Andere].
Holen Sie sich "Client ID" und "Client Secret" (wird später verwendet)
Stellen Sie die URL der erhaltenen "Client-ID" ein und greifen Sie direkt auf den Browser zu https://accounts.google.com/o/oauth2/auth?redirect_uri=oob&response_type=code&client_id=<ここに上記で取得したクライアントIDを指定>&scope=https://www.googleapis.com/auth/cloudprint
Wählen Sie [Zulassen]
Holen Sie sich den Code
(wird später verwendet)
Dieses Mal werde ich es mit Java Unirest ausführen. Nehmen Sie nur wichtige Prozesse auf und beschreiben Sie sie
getRefreshToken
HttpResponse<JsonNode> res = Unirest.post("https://www.googleapis.com/oauth2/v3/token")
.field("code", code) //Stellen Sie den Code im Voraus ein
.field("client_id", client_id) //Stellen Sie die im Voraus erhaltene Client-ID ein
.field("client_secret", client_secret) //Legen Sie das im Voraus erhaltene Client-Geheimnis fest
.field("grant_type", "authorization_code")
.field("redirect_uri", "oob")
.asJson();
Holen Sie sich ein Aktualisierungstoken. Sobald Sie den Code verwendet haben, können Sie ihn nicht mehr verwenden. Wenn Sie das Aktualisierungstoken nicht kennen, müssen Sie den Code im Voraus abrufen.
getAccessToken
HttpResponse<JsonNode> res = Unirest.post("https://www.googleapis.com/oauth2/v3/token")
.field("client_id", client_id) //Stellen Sie die im Voraus erhaltene Client-ID ein
.field("client_secret", client_secret) //Legen Sie das im Voraus erhaltene Client-Geheimnis fest
.field("grant_type", "refresh_token")
.field("refresh_token", refresh_token) //Legen Sie das von getRefreshToken erfasste Aktualisierungstoken fest
.asJson();
Holen Sie sich ein Zugriffstoken. Holen Sie sich jedes Mal ein Zugriffstoken vom Aktualisierungstoken. Konfigurieren Sie, dass bei jedem Zugriff auf den Drucker ein Zugriffstoken abgerufen wird.
getPrinters
HttpResponse<JsonNode> res = Unirest.get("https://www.google.com/cloudprint/search")
.header("Authorization", token_type + " " + access_token)
.asJson();
Rufen Sie die Liste der in Google Cloud Print festgelegten Drucker ab.
submitFile
HttpResponse<JsonNode> res = Unirest.post("https://www.google.com/cloudprint/submit")
.header("Authorization", token_type + " " + access_token)
.field("printerid", printerid) //Drucker-ID festlegen: Das Standard-Google Drive ist[__google__docs]ist.
.field("title", file.getName())
.field("ticket", gson.toJson(new TicketBean()))
.field("content", file)
.asJson();
Fordern Sie bei Google CloudPrint an, eine lokale PDF-Datei zu drucken. Die Datei ist vom Typ java.io.File.
Implementieren Sie beispielsweise die dynamische PDF-Erstellungsverarbeitung auf der Serverseite und drucken Sie auf Druckern auf mehreren Clientseiten. Es wird ein Mechanismus sein, der leicht zu realisieren ist.
Es ist jetzt schwierig, weil ich den Drucker in meinem Konto registrieren muss Möglicherweise kommt der Tag, an dem Sie kein Fax benötigen.
Recommended Posts