Drucken Sie PDF mit Google Cloud Print. (GoogleAPI)

Was ist Google Cloud Print?

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.

Prozessablauf

  1. Erwerb eines Aktualisierungstokens (nach dem Erwerb nicht erforderlich)
  2. Holen Sie sich das Zugriffstoken
  3. Google CloudPrint-Vorgang (Abrufen einer Liste der Drucker, Ausführen des Druckvorgangs durch Angabe einer Drucker-ID)

Vorbereitungen

Registrieren Sie den Google CloudPrint-Drucker anhand der folgenden Anweisungen. https://www.google.com/cloudprint/learn/

Holen Sie sich die Google API-Client-ID und das Geheimnis

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] image.png

Diesmal ist es eine Testversion, wählen Sie also [Andere]. image.png

Holen Sie sich "Client ID" und "Client Secret" (wird später verwendet) image.png

Erhalten Sie die Berechtigung für Google CloudPrint und den Code, der in der Anwendung festgelegt werden soll

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] image.png image.png

Holen Sie sich den Code (wird später verwendet) image.png

Automatisches Drucken mit Google API

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.

Sie können drucken, indem Sie diese Prozesse der Reihe nach ausführen.

Schließlich

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

Drucken Sie PDF mit Google Cloud Print. (GoogleAPI)
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
Sprachtranskriptionsverfahren mit der Google Cloud Speech API
Ich habe versucht, die Google Cloud Vision-API zu verwenden
[GoogleCloudPlatform] Verwenden Sie die Google Cloud-API mit der API-Clientbibliothek
Sprachtranskriptionsverfahren mit Python und Google Cloud Speech API
Versuchen Sie, Lebensmittelfotos mithilfe der Google Cloud Vision-API zu beurteilen
Lassen Sie uns die Super Resolution API mithilfe der Google Cloud Platform veröffentlichen
Vorhersage von Wolkenbildern mit convLSTM
Was ist Google Cloud Dataflow?
Streamen Sie die Spracherkennung mithilfe der gRPC-API von Google Cloud Speech mit Python3 auf dem Mac!