---
title: "Pobierz token dostępu OAuth2"
description: "Wymień dane dostępowe CloudPrint API na krótkotrwały token Bearer OAuth2 w przepływie Client Credentials."
---
<nav class="docs-breadcrumb" aria-label="Breadcrumb"><a href="/pl/docs/">Dokumentacja CloudPrint</a><span aria-hidden="true">/</span><span>Dokumentacja API</span></nav>

# Pobierz token dostępu OAuth2

<p class="docs-lead">Wymień dane dostępowe CloudPrint API na krótkotrwały token Bearer OAuth2 w przepływie Client Credentials.</p>

<div class="api-endpoint-summary"><span class="api-method api-method-post">POST</span><code>/oauth/token</code><span><strong>Wersja API:</strong> v1</span><span><strong>operationId:</strong> <code>issueOAuthToken</code></span><a href="/pl/docs/api/v1/authentication/token/index.md">Otwórz w Markdown</a></div>

## Działanie metody

Wymień dane dostępowe CloudPrint API na krótkotrwały token Bearer OAuth2 w przepływie Client Credentials.

## Uwierzytelnianie

Ta metoda nie wymaga tokenu Bearer.

## Żądanie

**Podstawowy adres API:** `https://public-api.cloudprint.me/oauth/token`

### Parametry

Metoda nie ma parametrów ścieżki, zapytania ani dodatkowych nagłówków.

### Treść żądania

**Typ zawartości:** `application/x-www-form-urlencoded`

| Nazwa | Typ | Wymagane | Opis | Ograniczenia |
| --- | --- | --- | --- | --- |
| `grant_type` | `string` | tak | Grant OAuth2 używany w żądaniu tokenu. | enum: `client_credentials`; example: `"client_credentials"` |
| `client_id` | `string` | tak | Publiczny identyfikator z pary danych API konta. | — |
| `client_secret` | `string` | tak | Sekret z danych dostępowych API; przechowuj go wyłącznie w magazynie sekretów po stronie serwera. | — |
| `scope` | `string` | nie | Uprawnienia żądane dla tokenu dostępu, rozdzielone spacjami. | example: `"agents:read printers:read documents:write print_jobs:write print_jobs:read"` |

### Przykładowe żądania

#### cURL

```bash
curl -sS https://public-api.cloudprint.me/oauth/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=client_credentials' \
  --data-urlencode 'client_id=33333333-3333-4333-8333-333333333333' \
  --data-urlencode 'client_secret=cpsec_...' \
  --data-urlencode 'scope=agents:read printers:read documents:write print_jobs:write print_jobs:read'
```

#### PHP

```php
<?php

$response = file_get_contents('https://public-api.cloudprint.me/oauth/token', false, stream_context_create([
    'http' => [
        'method' => 'POST',
        'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
        'content' => http_build_query([
            'grant_type' => 'client_credentials',
            'client_id' => getenv('CLOUDPRINT_CLIENT_ID'),
            'client_secret' => getenv('CLOUDPRINT_CLIENT_SECRET'),
            'scope' => 'agents:read printers:read documents:write print_jobs:write print_jobs:read',
        ]),
    ],
]));

$token = json_decode((string) $response, true, flags: JSON_THROW_ON_ERROR)['access_token'];
```

## Odpowiedź

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

### Pola odpowiedzi

| Nazwa | Typ | Wymagane | Opis | Ograniczenia |
| --- | --- | --- | --- | --- |
| `token_type` | `string` | tak | Typ tokenu OAuth2; Public API używa `Bearer`. | example: `"Bearer"` |
| `expires_in` | `integer` | tak | Czas ważności tokenu dostępu w sekundach od wydania. | example: `900` |
| `access_token` | `string` | tak | Krótkotrwały token OAuth2 Bearer używany w żądaniach Public API. | example: `"eyJ..."` |
| `scope` | `string` | tak | Uprawnienia żądane dla tokenu dostępu, rozdzielone spacjami. | example: `"printers:read print_jobs:write"` |

### Przykładowa odpowiedź

```json
{
  "token_type": "Bearer",
  "expires_in": 900,
  "access_token": "eyJ...",
  "scope": "printers:read print_jobs:write"
}
```

## Błędy

| Status HTTP | Opis |
| --- | --- |
| `400` | Sprawdź format i parametry żądania. |
| `401` | Brak uwierzytelnienia albo jest ono nieprawidłowe. |
| `429` | Przekroczono limit żądań; zastosuj Retry-After. |
| `500` | Wewnętrzny błąd CloudPrint. |

## Wskazówki integracyjne

- Przechowuj `client_secret` wyłącznie w magazynie sekretów po stronie serwera; nie przekazuj go do przeglądarki ani rozpowszechnianej aplikacji komputerowej.
- Przechowuj token w pamięci podręcznej niemal do końca `expires_in`, zamiast pobierać go dla każdego zadania.
- Żądaj tylko uprawnień potrzebnych danej integracji.

## Powiązana dokumentacja

<div class="docs-card-grid"><a class="docs-card" href="/pl/docs/api/v1/authentication/client-context/"><strong>Pobierz kontekst klienta API</strong><span>Sprawdź, do którego konta i aplikacji API należy bieżący token oraz jakie ma uprawnienia.</span></a>
<a class="docs-card" href="/pl/docs/api/authentication/"><strong>Uwierzytelnianie OAuth2 Client Credentials</strong><span>Utwórz aplikację API CloudPrint, pobieraj krótkotrwały token i chroń dane dostępowe, nadając tylko niezbędne uprawnienia.</span></a>
<a class="docs-card" href="/pl/docs/api/v1/errors/"><strong>Błędy i ponowienia CloudPrint API</strong><span>Obsługuj statusy HTTP, błędy maszynowe, limity, identyfikatory żądań i bezpieczne ponowienia.</span></a></div>

<nav class="docs-resource-links" aria-label="Następne kroki"><a href="/pl/docs/api/v1/explorer/">OpenAPI</a><a href="https://my.cloudprint.me">Otwórz panel</a><a href="/docs/legal/privacy/">Polityka prywatności</a><a href="/pl/docs/legal/terms/">Regulamin</a><a href="/pl/docs/legal/payments-and-refunds/">Płatności i zwroty</a><a href="/pl/docs/legal/data-processing/">DPA</a></nav>