Przejdź do treści

Wydaj token instalacji aplikacji

Uwierzytelnij Developer Application jednorazowym assertion RS256 i wydaj krótkotrwały token jednej zatwierdzonej App Installation.

POST/developer-api/v1/app-installations/{installationId}/access-tokensWersja API: v1operationId: issueInstallationAccessTokenOtwórz w Markdown

Działanie metody

Uwierzytelnij Developer Application jednorazowym assertion RS256 i wydaj krótkotrwały token jednej zatwierdzonej App Installation.

Uwierzytelnianie

Przekaż jednorazowy assertion RS256 Developer Application w Authorization: Bearer <application_assertion>. Nie jest to token dostępu do Public API.

Żądanie

Podstawowy adres API: https://public-api.cloudprint.me/developer-api/v1/app-installations/{installationId}/access-tokens

Parametry

NazwaPołożenieTypWymaganeOpisOgraniczenia
installationIdpathstring (uuid)takStabilny UUID App Installation przechowywany w mapowaniu integratora.

Treść żądania

Typ zawartości: application/json

NazwaTypWymaganeOpisOgraniczenia
permissionsarraynieUprawnienia instalacji zawarte w tym tokenie.

Przykładowe żądania

cURL

bash
curl -sS https://public-api.cloudprint.me/developer-api/v1/app-installations/$INSTALLATION_ID/access-tokens \
  -H "Authorization: Bearer $APPLICATION_ASSERTION" \
  -H 'Content-Type: application/json' \
  -d '{"permissions":["documents:write","print_jobs:write"]}'

Odpowiedź

Status HTTP: 200 — Żądanie zostało wykonane.

Pola odpowiedzi

NazwaTypWymaganeOpisOgraniczenia
access_tokenstringtakKrótkotrwały token OAuth2 Bearer używany w żądaniach Public API.example: "eyJ..."
token_typestringtakTyp tokenu OAuth2; Public API używa Bearer.enum: Bearer
expires_inintegertakCzas ważności tokenu dostępu w sekundach od wydania.min: 1; example: 3600
installation_idstring (uuid)takStabilny UUID App Installation, która autoryzowała token.
account_idstring (uuid)takStabilny UUID konta CloudPrint, do którego należy zasób.
permissionsarraytakUprawnienia instalacji zawarte w tym tokenie.

Przykładowa odpowiedź

json
{
  "access_token": "eyJ...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "installation_id": "11111111-1111-4111-8111-111111111111",
  "account_id": "11111111-1111-4111-8111-111111111111",
  "permissions": [
    "agents:read"
  ]
}

Błędy

Status HTTPOpis
401Brak uwierzytelnienia albo jest ono nieprawidłowe.
422Pola żądania nie przeszły walidacji.
429Przekroczono limit żądań; zastosuj Retry-After.
500Wewnętrzny błąd CloudPrint.

Wskazówki integracyjne

  • Dla każdego żądania utwórz nowy assertion: RS256, kid aktywnego klucza, client_id aplikacji w iss i sub, dokładny URL metody w aud, ważność do pięciu minut oraz unikalny jti.
  • Powiąż stabilny installation_id z własnym klientem lub tenantem. Ta metoda przyjmuje wyłącznie installation_id, a nie zewnętrzny identyfikator klienta.
  • Nie ma refresh tokenu. Przechowuj token instalacji niemal do końca expires_in, a potem wydaj nowy bez ponownej instalacji przez użytkownika.

Powiązana dokumentacja

Przewodniki dotyczące integracji CloudPrint, podłączania lokalnego agenta i obsługi procesów drukowania.