콘텐츠로 이동
AstroWay/api v2.190.0 · ko
모든 시스템 정상 작동 중

FlutterFlow

FlutterFlow는 사용자가 손에 쥐고 있는 앱으로 컴파일되므로 문제는 어떤 필드를 채울지가 아니라 키가 어디에 있게 되는 거야. 아래 요청은 프로덕션에 정확히 그 형태로 전송되고, FlutterFlow의 단계는 2026-09-17 기준 문서에 따라 작성됐어.

먼저 자동화 키에서 설명한 대로 키를 만들어, 범위는 chart로 설정해.

API Calls를 열고, + Add를 클릭하고, Create API Call을 선택해서 채워:

  • API Call Name: Natal chart.

  • Method Type: POST.

  • URL:

    https://api.astroway.info/v1/chart
  • Headers 탭에서 + Add Header를 클릭해서 한 줄에 X-Api-Key: 뒤에 당신의 키를 입력하고, 두 번째 줄에 Content-Type: application/json를 입력해.

  • Variables 탭에서 String 타입 변수 다섯 개를 추가해: date, time, timezone, latitude, longitude. 각각은 아래 JSON의 기본값을 가져.

  • Body 탭에서 JSON 무작위 목록을 선택하고 JSON을 붙여넣은 뒤 변수를 드래그해 넣어.

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

위도와 경도는 의도적으로 문자열로 남겨둬: API는 "50.45"를 숫자로 받아들이지만, 문자열이면 변수 드래그가 더 쉬워.

Add Call을 클릭하고, Response & Test를 열고, Test API Call을 눌러 Test Response에서 응답을 봐. data.input.timezoneOffset4로 반환돼;这就是 Kyiv가 그날 가지고 있던 오프셋이야.

2. Зробіть виклик приватним

섹션 제목: “2. Зробіть виклик приватним”

Advanced Settings에서 호출의 Make Private를 켜고, Save를 클릭한 뒤 Deploy APIs를 진행해. 이제 호출은 Firebase Cloud Function에서 실행되므로 프로젝트에 연결된 Firebase와 Cloud Functions가 포함된 Firebase 플랜이 필요해.

FlutterFlow 문서에서 직접 언급하는 두 가지 사항이 있어: 프론트엔드에서 전달된 키(예: remote config를 통해)는 даже 프라이빗 호출에서도 노출된 채로 남아 있고, 안전한 형태는 호출 자체에 작성된 헤더야.

3. Прочитайте відповідь

섹션 제목: “3. Прочитайте відповідь”

JSON Paths에서 + Add JSON Path를 클릭하고 각 항목에 이름을 붙여:

이름JSON 경로
ascendant$.data.houses.ascendant
sunLongitude$.data.planets[0].longitude
moonLongitude$.data.planets[1].longitude
offsetUsed$.data.input.timezoneOffset

이 숫자는 경도를 30으로 나누고 내림한 값으로, 12개 이름 목록의 인덱스야. 예를 들어 상승점 159.265가 되는데, 즉 처녀자리야. 네 줄짜리 커스텀 함수나 12개 항목 목록과 인덱스로 충분해.

Веб-збірка не може звертатися до нас із браузера

섹션 제목: “Веб-збірка не може звертатися до нас із браузера”

웹 빌드는 브라우저에서 우리에게 접근할 수 없어

2026-09-17에 외부 도메인의 페이지에서 측정했을 때, POST /v1/chartaccess-control-allow-origin 헤더 없이 프리플라이트에 응답해서 Chrome이 요청을 차단해. 외부 도메인의 브라우저에는 오직 /v1/public/*/v1/embed/*만 응답해.

FlutterFlow는 생성기의 자체 프록시를 통해 호출을 실행하는데, Run 모드와 Test 모드에서는 작동하지만 웹 앱을 게시한 후에는 실패할 수 있어. 두 가지 해결책이 있고, 첫 번째를 추천해:

  • 호출을 프라이빗으로 만들어, 위에 설명한 대로. 그러면 Cloud Function에서 실행되고 브라우저에서는 실행되지 않아서 키 문제와 CORS 문제를 한 번에 해결해.
  • 우리 앞에 자신만의 백엔드를 놓아, 이미 있다면. FlutterFlow의 프록시 설정과 함께 자신의 proxy URL은 생성기와 Run/Test 모드에 문서화되어 있는데, publicados된 웹 빌드에 대해서는 문서가 아무것도 없으니 거기에 의존하지 마.

퍼블릭 키 pk_로는 이 문제를 해결할 수 없어: 오직 /v1/public/*/v1/embed/*에만 접근 가능하고, iOS와 Android 빌드는 완전히 거부돼; 왜냐하면 그들은 웹-오리진을 보내지 않기 때문이야.

  • 401 프라이빗 호출에서: 키가 그룹에 있고 호출 자체에 없어.
  • **400 INVALID_FIELD**에서 timezonedetails에: 구역이 비어 있고,これは EST 같은 약어거나 유효한 구역 이름이 아니야.
  • **400**에서 date 또는 timedetails에: 형식이 YYYY-MM-DD / HH:MM:SS가 아니야.
  • 403 ENDPOINT_NOT_IN_SCOPE: 키의 범위에 chart가 없어.
  • 429 KEY_BUDGET_EXHAUSTED: 키가 자체 예산을 소모했어; 대시보드에서 올려.
도움이 되었나요?
Запропонувати правку

마지막 업데이트: