Aşağıdaki bölümler, Open Cloud API'leri için hata yönetimini tanımlamaktadır. Uç noktalar ve doğrulama katmanları arasındaki implementasyon farklılıkları nedeniyle, hata yanıtları format açısından önemli ölçüde değişiklik gösterebilir.
Ağ Geçidi Hataları
Kimlik doğrulama veya yönlendirme sorunları için, hem Open Cloud v1 hem de v2 API'leri bu formatta hatalar döndürebilir:
Örnek ağ geçidi hatası
{
"errors": [
{
"code": 0,
"message": "Geçersiz API Anahtarı"
}
]
}
Open Cloud v2
Open Cloud v2 API'leri, hata API uç noktasında gerçekleştiğinde genellikle tutarlı bir hata formatı izler.
Standart v2 hata formatı
Open Cloud v2 API'leri bu formatta hatalar döndürür:
- code - Hata türünü temsil eden bir dize (ör. INVALID_ARGUMENT, NOT_FOUND).
- message - Hatanın açıklamasını yapan okunabilir bir mesaj.
- details - Hata spesifik ek bilgileri içeren isteğe bağlı bir dizi.
Örnek v2 hatası
{
"code": "INVALID_ARGUMENT",
"message": "İstek içinde geçersiz Kullanıcı Kimliği."
}
Örnek v2 hatası detaylarla
{
"code": "INVALID_ARGUMENT",
"message": "Verilen filtre geçersiz.",
"details": [
{
...
}
]
}
v2 hata kodları
Aşağıdaki tablo, v2 API yanıtlarında code için olası değerleri tanımlar.
| Kod | HTTP Durumu | Açıklama |
|---|---|---|
| INVALID_ARGUMENT | 400 | Geçersiz bir argüman geçtiniz, örneğin geçersiz bir universeId. Ayrıca, Content-Length ve Content-Type gibi eksik veya geçersiz başlıklarınız olabilir. |
| PERMISSION_DENIED | 403 | İsteğiniz, işlemi gerçekleştirmek için yeterli izin veya kapsam içermiyor. |
| NOT_FOUND | 404 | Sistem, belirttiğiniz kaynakları bulamıyor, örneğin bir veri mağazası girişi. |
| ABORTED | 409 | İşlem iptal edildi. |
| RESOURCE_EXHAUSTED | 429 | İşlemi gerçekleştirmek için yeterli kotalarınız yok, genellikle çok fazla istek gönderilmesi nedeniyle. |
| CANCELLED | 499 | Sistem isteği sonlandırdı, genellikle istemci tarafı zaman aşımı nedeniyle. |
| INTERNAL | 500 | Sunucu hatası, genellikle sunucu hatası nedeniyle. |
| NOT_IMPLEMENTED | 501 | Sunucu API metodunu uygulamıyor. |
| UNAVAILABLE | 503 | Hizmet mevcut değil, genellikle sunucu kapalı olduğunda döndürülür. |
Open Cloud v1
Open Cloud v1 API'lerinin hatalı yanıt formatları tutarsızdır. Format, belirli uç noktaya, hata türüne ve hatanın isteğin işlenme sürecindeki yerine bağlıdır.
Çoğu v1 uç noktası, bu üç formattan birinde hatalar döndürmektedir:
Hata alanı ile örnek v1 hatası
{
"error": "INVALID_ARGUMENT",
"message": "Geçersiz imleç.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Kod alanı ile örnek v1 hatası
{
"code": "INVALID_ARGUMENT",
"message": "Geçersiz imleç."
}
Detaylı doğrulama hatası olan örnek v1 hatası
{
"errors": {
"assetId": ["Değer 'a' geçerli değil."]
},
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "Bir veya daha fazla doğrulama hatası oluştu.",
"status": 400,
"extensions": {
"traceId": "00-427917f0fc3b8375ee33e4603a7f0693-f3f6ad560ff1a122-00"
}
}
v1 hata kodları
Aşağıdaki tablo, v1 API yanıtlarında error veya code için olası değerleri tanımlar:
| HTTP Durum Kodu | Hata | Açıklamalar |
|---|---|---|
| 400 | INVALID_ARGUMENT | Geçersiz bir argüman geçtiniz, örneğin geçersiz bir universeId. Ayrıca, Content-Length ve Content-Type gibi eksik veya geçersiz başlıklarınız olabilir. |
| 403 | INSUFFICIENT_SCOPE | İstek, erişim tokeni tarafından sağlanan yetkilerden daha yüksek ayrıcalıklar gerektirir. |
| 403 | PERMISSION_DENIED | İsteğiniz, işlemi gerçekleştirmek için yeterli kapsam içermiyor. |
| 404 | NOT_FOUND | Sistem, belirttiğiniz kaynakları bulamıyor, örneğin bir veri mağazası. |
| 409 | ABORTED | İşlem, bir çelişki nedeniyle iptal edildi, örneğin evrende yer almayan bir yeri yayınlamaya çalışmak. |
| 429 | RESOURCE_EXHAUSTED | İşlemi gerçekleştirmek için yeterli kotalarınız yok, genellikle çok fazla istek gönderilmesi nedeniyle. |
| 499 | CANCELLED | Sistem isteği sonlandırdı, genellikle istemci tarafı zaman aşımı nedeniyle. |
| 500 | INTERNAL | Sunucu hatası. Genellikle bir sunucu hatasıdır. |
| 501 | NOT_IMPLEMENTED | Sunucu API metodunu uygulamıyor. |
| 503 | UNAVAILABLE | Hizmet mevcut değil. Genellikle sunucu kapalıdır. |