Přeskočit na obsah
AstroWay/api v2.190.0 · cs
všechny systémy jsou v pořádku

FlutterFlow

FlutterFlow se kompiluje do aplikace, kterou má ve svých rukou tvůj uživatel, takže nejde o to, jaká pole vyplnit, ale kde se klíč objeví. Níže uvedený požadavek byl odeslán do produkce přesně v tom tvaru, v jakém jej sestaví volání; kroky ve FlutterFlow jsou napsány podle dokumentace FlutterFlow k 2026-09-17.

Nejprve vytvoř klíč, jak je popsáno v sekci Klíč pro automatizaci, s oblastí chart.

Otevři API Calls, klikni na + Add, vyber Create API Call a vyplň:

  • API Call Name: Natal chart.

  • Method Type: POST.

  • URL:

    https://api.astroway.info/v1/chart
  • Záložka Headers, + Add Header: jeden řádek X-Api-Key: a pak tvůj klíč. Druhý řádek Content-Type: application/json.

  • Záložka Variables: pět proměnných typu String, date, time, timezone, latitude, longitude, každá s výchozí hodnotou z JSON níže.

  • Záložka Body, v rozbalovacím seznamu JSON: vlož JSON a přetáhni do něj proměnné.

{
"date": "1990-05-15",
"time": "14:30:00",
"timezone": "Europe/Kyiv",
"latitude": "50.45",
"longitude": "30.52"
}

Šířka a délka zůstávají řetězci úmyslně: API přijímá "50.45" jako číslo, ale řetězec usnadňuje přetahování proměnných.

Klikni na Add Call, otevři Response & Test, klikni na Test API Call a podívej se na odpověď v Test Response. data.input.timezoneOffset se vrací jako 4: právě takový posun měl Kyjev v ten den.

2. Udělej volání soukromým

Sekce “2. Udělej volání soukromým”

V Advanced Settings volání zapni Make Private, klikni na Save, pak Deploy APIs. Nyní se volání provádí v Firebase Cloud Function, takže projekt potřebuje připojený Firebase a tarif Firebase s Cloud Functions.

Ještě dvě věci, o kterých dokumentace FlutterFlow říká přímo: klíč předaný z frontendu, například přes remote config, zůstává otevřený i v soukromém volání, a bezpečná forma je hlavička vložená přímo do volání.

3. Přečti si odpověď

Sekce “3. Přečti si odpověď”

V JSON Paths klikni na + Add JSON Path a dej každému jméno:

JménoJSON Path
ascendant$.data.houses.ascendant
sunLongitude$.data.planets[0].longitude
moonLongitude$.data.planets[1].longitude
offsetUsed$.data.input.timezoneOffset

Znamení je délka, vydělená 30 a zaokrouhlená dolů, jako index v seznamu dvanácti názvů: například Ascendent 159.26 dává 5, tedy Pannu. Stačí vlastní funkce na čtyři řádky nebo seznam dvanácti řádků a index.

Webová sestava se nemůže obrátit na nás z prohlížeče

Sekce “Webová sestava se nemůže obrátit na nás z prohlížeče”

Měřeno 2026-09-17 ze stránky na cizím doméně: POST /v1/chart odpovídá na preflight bez hlavičky access-control-allow-origin, a Chrome blokuje požadavek. Prohlížeči na cizím doméně odpovídají jen /v1/public/* a /v1/embed/*.

FlutterFlow provádí volání přes vlastní proxy v návrháři, v Run mode a Test mode, takže volání, které tam funguje, může selhat po publikaci webové aplikace. Dva řešení, a první doporučujeme:

  • Udělej volání soukromým, jak výše. Pak se provádí v Cloud Function, ne v prohlížeči, a to okamžitě řeší jak otázku klíče, tak otázku CORS.
  • Postav před nás vlastní backend, pokud ho už máš. Nastavení proxy ve FlutterFlow, spolu s vlastním proxy URL, jsou zdokumentována pro návrhář a režimy Run a Test; o publikované webové sestavě dokumentace nic neříká, takže na ně spoléhat není vhodné.

Veřejný klíč pk_ to nevyřeší: získává jen /v1/public/* a /v1/embed/*, a ze sestav pro iOS a Android je odmítán úplně, protože neposílají web-origin.

  • 401 na soukromém volání: klíč leží na skupině, ne na volání.
  • 400 INVALID_FIELD s timezone v details: zóna je prázdná, je to zkratka jako EST nebo ne název zóny.
  • 400 s date nebo time v details: formát není YYYY-MM-DD / HH:MM:SS.
  • 403 ENDPOINT_NOT_IN_SCOPE: v oblasti klíče není chart.
  • 429 KEY_BUDGET_EXHAUSTED: klíč vyčerpal svůj rozpočet; zvedni ho v dashboardu.
Užitečné?
Запропонувати правку

Aktualizováno: