Tredjeparts-API'er (b77.http)
Kald ethvert HTTPS-API med dine hemmelige nøgler uden at afsløre dem.
b77.http.fetch kalder et HTTPS-API fra en tredjepart via builder77's servere. Dine API-nøgler gemmes under Indstillinger → Hemmelige nøgler og skrives i koden som {{secret:NAME}}: Serveren indsætter dem, så de aldrig når browseren.
const res = await b77.http.fetch('https://api.openai.com/v1/chat/completions', {
method: 'POST', // default GET
headers: { Authorization: 'Bearer {{secret:OPENAI_API_KEY}}' },
body: { model: 'gpt-4o-mini', messages: [{ role: 'user', content: 'Hi!' }] }, // object → JSON, or a string
});
if (res.ok) console.log(res.data); // { ok, status, headers, body (text), data (parsed JSON or null) }Hvert kald bruger 1 integrationskredit. Kun https, timeout på 15 sekunder, svar på op til 1 MB. Hvis et API sender din nøgle retur, erstattes den med [secret], før din app ser svaret.
Regler for hver nøgle
Alle, der bruger din app, kan foretage kald med en hemmelig nøgle — uden at se den. Derfor virker hver nøgle kun på den måde, du tillader:
- Tilladte hosts — de eneste servere, den nogensinde sendes til (f.eks.
api.openai.com;*.example.comdækker underdomæner). - Tilladte metoder — GET og POST som standard.
- Tilladte stier — valgfrie sti-præfikser som
/v1/chat/. Tom betyder alle stier. - Hvor nøglen må placeres — som standard kun i en credential-header (Authorization, X-Api-Key, Api-Key, X-Goog-Api-Key og lignende). Query-parametre (efter navn, f.eks.
key), URL-stien og anmodningens body er slået fra, indtil du slår dem til.
Et kald, der bryder en regel, afvises med status 403, før noget bliver sendt.
Nøgler i URL'en eller body
Foretræk API'er, der tager nøglen i en header. Nogle lægger den i adressen i stedet — tillad i så fald præcis det sted, og indsnævr stien:
// Settings → Secrets: TELEGRAM_TOKEN, host api.telegram.org, "In the URL path" on,
// allowed path /bot{{secret:TELEGRAM_TOKEN}}/sendMessage
await b77.http.fetch('https://api.telegram.org/bot{{secret:TELEGRAM_TOKEN}}/sendMessage', {
method: 'POST',
body: { chat_id: 12345, text: 'New booking!' },
});Tillad kun I anmodningens body, hvis API'et kræver det: Så kan alle, der bruger din app, skrive nøglen ind i alt, hvad API'et gemmer (en besked, en note, en offentlig fil), og læse den igen.