curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-protected-resource'
const input = {};
const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-protected-resource', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/.well-known/oauth-protected-resource",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
OAuth i protokół MCP
Pobierz metadane chronionego zasobu
Poznaj odbiorcę zasobu MCP, serwer autoryzacyjny, obsługiwane uprawnienia produktu i obsługiwany sposób przesyłania tokenu bearer.
GET
/
.well-known
/
oauth-protected-resource
curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-protected-resource'
const input = {};
const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-protected-resource', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/.well-known/oauth-protected-resource",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Poznaj odbiorcę zasobu MCP, serwer autoryzacyjny, obsługiwane uprawnienia produktu i obsługiwany sposób przesyłania tokenu bearer.
GET https://api.voicecheap.ai/.well-known/oauth-protected-resource
Uwierzytelnianie
Brak.Przykłady żądań
Stosuj udokumentowany sposób kodowania i uwierzytelniania dla tej ścieżki. Struktura odpowiedzi i reguły idempotencji API akcji dotyczą wyłącznie wywołań akcji.curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-protected-resource'
const input = {};
const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-protected-resource', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/.well-known/oauth-protected-resource",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Odpowiedź
Metadane chronionego zasobu OAuth. Obie opublikowane ścieżki metadanych zwracają ten sam obiekt dla zasobu MCP.HTTP 200
{
"resource": "https://api.voicecheap.ai/mcp",
"resource_name": "VoiceCheap MCP",
"authorization_servers": ["https://api.voicecheap.ai"],
"scopes_supported": [
"account:read",
"usage:read",
"settings:read",
"settings:write",
"team:read",
"team:write",
"projects:read",
"projects:write",
"projects:delete",
"translations:write",
"transcription:read",
"transcription:write",
"subtitles:read",
"subtitles:write",
"tts:read",
"tts:write",
"voices:read",
"voices:write",
"images:read",
"images:write",
"thumbnails:read",
"thumbnails:write",
"folders:read",
"folders:write",
"glossary:read",
"glossary:write",
"webhooks:read",
"webhooks:write",
"publishing:read",
"publishing:write"
],
"bearer_methods_supported": ["header"]
}
Uwagi do operacji
- Używaj resource dokładnie w zwróconej postaci przy tworzeniu żądań autoryzacyjnych i tokenów. Nie zastępuj go /v1, nie dodawaj ukośnika ani nie używaj origin innego środowiska.
- Zasób akceptuje dane uwierzytelniające bearer w nagłówkach HTTP. Uwierzytelnianie MCP odrzuca dane uwierzytelniające w ciągu zapytania.
- scopes_supported zawiera wyłącznie uprawnienia do produktu; offline_access jest natomiast wymieniony w metadanych serwera autoryzacji.
- Nieuwierzytelniona odpowiedź /mcp wskazuje w WWW-Authenticate ścieżkę metadanych właściwą dla /mcp.
- Zasób produkcyjny to https://api.voicecheap.ai/mcp. Domyślny zasób środowiska deweloperskiego to https://dev.api.voicecheap.ai/mcp; wdrożenia mogą udostępniać inny kanoniczny adres bazowy środowiska deweloperskiego.
Błędy
| Status HTTP | Kod | Znaczenie lub sposób rozwiązania |
|---|---|---|
| 429 | temporarily_unavailable | Osiągnięto publiczny limit częstotliwości żądań OAuth. Przed ponowieniem poczekaj na zakończenie bieżącego okna. |
| 500 | server_error | Autoryzacja jest tymczasowo niedostępna. Spróbuj ponownie później. |
Czy ta strona była pomocna?

