Salt la conținutul principal

Prezentare generală

Analytics API returnează mesaje de eroare detaliate pentru a facilita depanarea interogărilor nevalide. Această pagină prezintă scenarii de eroare frecvente și modul de rezolvare a acestora.

Formatul răspunsului de eroare

Când apare o eroare, API-ul returnează un răspuns de eroare cu un mesaj descriptiv:
{
  "error": "Mesaj de eroare care descrie ce nu a funcționat"
}

Erori comune

Erori de autentificare

Eroare: Invalid service keyCauză: Cheia de serviciu furnizată nu este validă sau a fost revocată.Soluție:
  • Verificați dacă cheia de serviciu este corectă
  • Verificați dacă cheia de serviciu nu a fost revocată
  • Generați o nouă cheie de serviciu, dacă este necesar
Eroare: Insufficient permissionsCauză: Cheia de serviciu nu are permisiunile necesare „Teams Read-only”.Soluție:
  • Actualizați permisiunile cheii de serviciu în setările echipei
  • Asigurați-vă că cheia de serviciu are acces „Teams Read-only”

Erori de structură a interogării

Eroare: at least one field or aggregation is requiredCauză: Cererea de interogare nu conține niciun selections sau aggregations.Soluție: Adăugați cel puțin un element în selections în cererea de interogare:
"selections": [
  {
    "field": "num_acceptances",
    "aggregation_function": "QUERY_AGGREGATION_SUM"
  }
]
Eroare: invalid query table: QUERY_DATA_SOURCE_UNSPECIFIEDCauză: Probabil există o greșeală de tastare în câmpul data_source.Soluție: Verificați încă o dată scrierea valorii din data_source. Opțiuni valide:
  • QUERY_DATA_SOURCE_USER_DATA
  • QUERY_DATA_SOURCE_CHAT_DATA
  • QUERY_DATA_SOURCE_COMMAND_DATA
  • QUERY_DATA_SOURCE_PCW_DATA
Eroare: all selection fields should have an aggregation function, or none of them shouldCauză: Unele selections au funcții de agregare, iar altele nu.Soluție: Adăugați funcții de agregare pentru toate entries din selections sau eliminați-le pe toate:Invalid:
"selections": [
  {
    "field": "num_acceptances",
    "aggregation_function": "QUERY_AGGREGATION_SUM"
  },
  {
    "field": "num_lines_accepted",
    "aggregation_function": "QUERY_AGGREGATION_UNSPECIFIED"
  }
]
Valid:
"selections": [
  {
    "field": "num_acceptances",
    "aggregation_function": "QUERY_AGGREGATION_SUM"
  },
  {
    "field": "num_lines_accepted",
    "aggregation_function": "QUERY_AGGREGATION_SUM"
  }
]

Erori de câmp și agregare

Eroare: invalid aggregation function for string type field ide: QUERY_AGGREGATION_SUMCauză: Funcția de agregare nu este compatibilă cu tipul de câmp specificat.Soluție: Consultă secțiunea Available Fields pentru a vedea ce funcții de agregare sunt valide pentru fiecare câmp. Câmpurile de tip șir acceptă, de obicei, doar COUNT și UNSPECIFIED.
Eroare: tried to aggregate on a distinct field: distinct_developer_days. Consider aggregating on the non-distinct fields instead: [api_key date]Cauză: Câmpurile cu modelul „distinct_*” nu pot fi folosite în secțiunea aggregations.Soluție: Utilizează câmpurile alternative sugerate pentru agregare:Invalid:
"aggregations": [
  {
    "field": "distinct_developer_days",
    "name": "distinct_developer_days"
  }
]
Valid:
"aggregations": [
  {
    "field": "api_key",
    "name": "api_key"
  },
  {
    "field": "date",
    "name": "date"
  }
]
Eroare: duplicate field alias for selection/aggregation: num_acceptancesCauză: Mai multe selections sau aggregations au același nume.Soluție: Asigură-te că toate aliasurile de câmp sunt unice. Reține că, dacă nu este specificat niciun nume, valoarea implicită este {aggregation_function}_{field_name}.

Erori de filtrare a datelor

Eroare: invalid group name: GroupNameCauză: Numele de grup specificat nu există în organizația ta.Soluție:
  • Verifică încă o dată ortografia numelui de grup
  • Verifică dacă grupul există în setările echipei
  • Folosește exact numele de grup așa cum apare în tabloul de bord al echipei
Eroare: invalid timestamp formatCauză: Marcajul temporal (timestamp) nu este în formatul corect RFC 3339.Soluție: Folosește formatul corect pentru marcajul temporal:
2023-01-01T00:00:00Z
Exemple valide:
  • 2024-01-01T00:00:00Z
  • 2024-12-31T23:59:59Z
  • 2024-06-15T12:30:45Z
Eroare: Cannot use both group_name and emails parametersCauză: Au fost furnizați atât parametrii group_name, cât și emails într-o cerere Cascade Analytics.Soluție: Folosește fie group_name, fie emails, dar nu pe ambele:Invalid:
{
  "group_name": "engineering",
  "emails": ["user@example.com"]
}
Valid:
{
  "group_name": "engineering"
}
Sau:
{
  "emails": ["user@example.com", "user2@example.com"]
}

Limitarea ratei

Eroare: 429 Too Many RequestsCauză: Ai depășit limita de rată a API-ului.Soluție:
  • Așteaptă înainte de a trimite solicitări suplimentare
  • Implementează backoff exponențial în client
  • Ia în considerare gruparea mai multor interogări într-o singură solicitare, acolo unde este posibil
  • Contactează echipa de asistență dacă ai nevoie de limite de rată mai mari

Sfaturi de depanare

1. Începeți simplu

Începeți cu întrebări de bază și adăugați treptat complexitate:
{
  "service_key": "cheia_ta",
  "query_requests": [
    {
      "data_source": "QUERY_DATA_SOURCE_USER_DATA",
      "selections": [
        {
          "field": "num_acceptances",
          "aggregation_function": "QUERY_AGGREGATION_COUNT"
        }
      ]
    }
  ]
}

2. Validați numele câmpurilor

Verificați încă o dată numele câmpurilor în documentația Available Fields.

3. Verifică compatibilitatea agregărilor

Asigură-te că funcțiile de agregare sunt compatibile cu tipurile de câmp selectate.

4. Testează filtrele separat

Dacă interogarea nu returnează rezultatele așteptate, încearcă să elimini filtrele pe rând pentru a izola problema.

5. Folosește o formatare JSON corectă

Asigură-te că JSON-ul este formatat corect și că toate șirurile sunt citate corect.

Obținerea de ajutor

Dacă întâmpini în continuare probleme:
  1. Verifică atent mesajul de eroare - Majoritatea erorilor includ îndrumări specifice despre cum să remediezi problema
  2. Consultă exemplele - Compară structura interogării tale cu exemplele funcționale din documentație
  3. Contactează asistența - Ia legătura cu Windsurf Support și include mesajul de eroare specific și interogarea ta

Note despre versiunea API

Gestionarea erorilor și validarea au fost îmbunătățite în versiunile API 1.10.0 și ulterioare. Dacă folosiți o versiune mai veche, luați în considerare actualizarea pentru a obține mesaje de eroare mai detaliate.
I