Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Ihre erste Anfrage

Den ersten authentifizierten Aufruf der REST-Inhalts-API von Exponential ausführen - prüfen, ob die API antwortet, Zugangsdaten senden, Knoten 2 unter v1 und v2 lesen und den Aufruf in Kotlin, Swift und JavaScript…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/mobile-app-developers/rest-api/your-first-request.md

On this page

This page is a translation. Read the English original

Ihre erste Anfrage

Diese Seite richtet sich an App-Entwickler, die vor allem anderen einen funktionierenden Aufruf möchten. In etwa zehn Minuten prüfen Sie, ob die REST-API antwortet, senden Zugangsdaten und lesen den Wurzelknoten, zuerst mit curl, dann aus App-Code.

Inhalt

  1. Schritt 1: Antwortet die API?
  2. Schritt 2: Zugangsdaten für die Entwicklung besorgen
  3. Schritt 3: Knoten 2 lesen
  4. Schritt 4: derselbe Aufruf aus App-Code
  5. Wenn es nicht funktioniert

Schritt 1: Antwortet die API?

curl -s -o /dev/null -w '%{http_code}\n' https://example.com/api/ezp/v1/content/node/2
AntwortBedeutung
401Die API ist vorhanden und verlangt Zugangsdaten (die Voreinstellung). Machen Sie weiter.
404ezprestapi ist auf dieser Installation nicht aktiv, oder der Pfad ist falsch. Fragen Sie den Administrator.
200Die Authentifizierung ist dort ausgeschaltet; Aufrufe laufen als der Standardbenutzer.

Die Antwort 401 hat keinen Inhalt und den Header WWW-Authenticate: OAuth realm='Exponential REST'.

Schritt 2: Zugangsdaten für die Entwicklung besorgen

Öffnen Sie auf einer Testinstallation, auf der Sie ein Konto mit der Richtlinie apikey/create haben, Mein Konto > API-Zugang (/apikey/list), erstellen Sie einen Schlüssel mit dem Scope read und kopieren Sie ihn; er wird nur einmal angezeigt (Persönliche API-Schlüssel für Werkzeuge). Legen Sie ihn in eine Umgebungsvariable, nicht in eine Datei, die Sie committen:

export EXP_API_KEY='expk_...'

Ein persönlicher API-Schlüssel ist für die Entwicklung richtig. Eine veröffentlichte App verwendet für ihre Benutzer OAuth2 (Zugangsdaten auswählen).

Schritt 3: Knoten 2 lesen

curl -s -H "Authorization: Bearer $EXP_API_KEY" https://example.com/api/ezp/v1/content/node/2
curl -s -H "Authorization: Bearer $EXP_API_KEY" https://example.com/api/ezp/v2/content/node/2

Beide antworten mit 200 und demselben Inhalt: metadata (objectName, classIdentifier, nodeId 2 ...) und links (Einen Knoten lesen). Knoten 2 ist in einer Standardinstallation die Inhaltswurzel; auf Ihrer Installation kann er anders heißen.

Senden Sie mit einem OAuth2-Access-Token statt eines Schlüssels Authorization: OAuth <token>; die REST-Schicht akzeptiert für OAuth-Tokens auch Bearer <token>.

Schritt 4: derselbe Aufruf aus App-Code

Die Anfrage ist schlichtes HTTPS mit einem Header. Drei Skizzen, die Sie an den HTTP-Client und die Fehlerbehandlung Ihres Projekts anpassen:

// Kotlin, OkHttp
val request = Request.Builder()
    .url("https://example.com/api/ezp/v2/content/node/2")
    .header("Authorization", "Bearer $credential")
    .header("Accept", "application/json")
    .build()
client.newCall(request).execute().use { response ->
    if (response.code == 401) { /* sign in again */ }
    val json = JSONObject(response.body!!.string())
    val name = json.getJSONObject("metadata").getString("objectName")
}
// Swift, URLSession
var request = URLRequest(url: URL(string: "https://example.com/api/ezp/v2/content/node/2")!)
request.setValue("Bearer \(credential)", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Accept")
let (data, response) = try await URLSession.shared.data(for: request)
guard (response as? HTTPURLResponse)?.statusCode == 200 else { /* handle the status */ return }
let json = try JSONSerialization.jsonObject(with: data) as? [String: Any]
// JavaScript (React Native, a web app on the same origin)
const answer = await fetch('https://example.com/api/ezp/v2/content/node/2', {
  headers: { Authorization: 'Bearer ' + credential, Accept: 'application/json' },
});
if (answer.status !== 200) { /* handle the status */ }
const node = await answer.json();
console.log(node.metadata.objectName);

Diese Skizzen wurden für diese Seite nicht kompiliert; sie zeigen die Anfrage, mehr nicht. Schreiben Sie die Zugangsdaten nie fest in den Code: Geheimnisse auf Geräten speichern.

Wenn es nicht funktioniert

SymptomPrüfen Sie
401 mit einem gerade erstellten SchlüsselHeadername und Schema; einen Proxy, der Authorization verwirft (Der Authorization-Header und Proxys)
401 {"error":"invalid_token"}Einen falschen, widerrufenen oder abgelaufenen Schlüssel, oder den Schlüssel in der URL statt im Header
403 insufficient_scopeDem Schlüssel fehlt der Scope read
403 access_deniedDer Inhaber des Schlüssels darf diesen Knoten nicht lesen
404ezprestapi nicht aktiv, oder den Knoten gibt es nicht

Alle Statuscodes stehen in Fehler und Statuscodes.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x