⭐️ Veröffentlicht v2.4 mit Application Passwords Unterstützung, Kompatibilität mit WordPress Multisite und Mutations für Seiten
Gato GraphQL v2.4 wurde mit verschiedenen Verbesserungen und Fehlerbehebungen veröffentlicht.
Unterstützung für Application Passwords
Es ist jetzt möglich, WordPress Application Passwords zu verwenden, um eine authentifizierte Anfrage an den GraphQL-Endpunkt zu senden.
Zum Beispiel können wir das Application Password beim Ausführen des curl-Befehls gegen den GraphQL-Server übergeben, wobei die Werte USERNAME und PASSWORD ersetzt werden:
curl -i \
--user "USERNAME:PASSWORD" \
-X POST \
-H "Content-Type: application/json" \
-d '{"query": "{ me { name } }"}' \
https://mysite.com/graphqlBei der Verwendung von Gato GraphQL PRO können wir dank des neu hinzugefügten Felds _strBase64Encode GraphQL verwenden, um authentifizierte HTTP-Anfragen gegen eine andere WordPress-Site auszuführen.
Die folgende query erhält den Benutzernamen und das Application Password (sowie den Endpunkt, zu dem eine Verbindung hergestellt werden soll), erstellt den erforderlichen Authentifizierungs-Header (vom Typ "Basic base64encoded(username:password)") und sendet eine HTTP-Anfrage gegen den GraphQL-Server, wobei die auszuführende GraphQL-query übergeben wird:
query GetDataFromExternalWPSite(
$username: String!
$appPassword: String!
$endpoint: URL!
) {
loginCredentials: _sprintf(
string: "%s:%s",
values: [$username, $appPassword]
)
@remove
base64EncodedLoginCredentials: _strBase64Encode(
string: $__loginCredentials
)
@remove
loginCredentialsHeaderValue: _sprintf(
string: "Basic %s",
values: [$__base64EncodedLoginCredentials]
)
@remove
externalHTTPRequestWithUserPassword: _sendGraphQLHTTPRequest(input:{
endpoint: $endpoint,
query: """
{
me {
name
}
}
""",
options: {
headers: [
{
name: "Authorization",
value: $__loginCredentialsHeaderValue
}
]
}
})
}Kompatibilität mit WordPress Multisite
Mehrere Probleme wurden behoben, um Gato GraphQL mit einem WordPress Multisite-Netzwerk kompatibel zu machen.
Es ist jetzt möglich, eine einzelne Lizenz von Gato GraphQL PRO zu aktivieren, um das gesamte Multisite zu betreiben.
Schau dir das Demo-Video Translating pages on a Multilingual site based on WordPress Multisite an, in dem Gato GraphQL dabei hilft, alle Seiten einer mehrsprachigen Site zu übersetzen, die auf einem WordPress Multisite-Netzwerk basiert:
Seiten-Mutations zum GraphQL-Schema hinzugefügt
Die folgenden Mutations wurden dem GraphQL-Schema hinzugefügt:
Root.createPageRoot.updatePagePage.update
Zum Beispiel kannst du jetzt diese GraphQL-query ausführen, um eine Seite zu ändern:
mutation UpdatePage {
updatePage(input: {
id: 2
title: "Updated title"
contentAs: { html: "Updated content" },
status: pending
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
page {
id
rawTitle
rawContent
status
}
}
}Felder zum Abrufen der Seiten des eingeloggten Benutzers hinzugefügt
v2.4 fügt auch Felder hinzu, um die Seiten des eingeloggten Benutzers abzurufen.
Die bereits vorhandenen Felder Root.page, Root.pages und Root.pageCount rufen Seiten für beliebige Benutzer ab, jedoch nur öffentliche (d.h. solche mit dem Status "publish").
Ab dieser Version können wir öffentliche oder private Seiten des eingeloggten Benutzers abrufen (d.h. mit Status "publish", "pending", "draft" oder "trash"), indem wir diese neuen Felder verwenden:
Root.myPageRoot.myPagesRoot.myPageCount
query {
myPages(filter: { status: [draft, pending] }) {
id
title
status
}
}Felder zum Abrufen der Locale und Sprache der Site hinzugefügt
Die folgenden Felder wurden dem GraphQL-Schema hinzugefügt:
Root.siteLocaleRoot.siteLanguage
Zum Beispiel könnte die Ausführung der folgenden query:
{
siteLocale
siteLanguage
}...folgendes produzieren:
{
"data": {
"siteLocale": "en_US",
"siteLanguage": "en"
}
}Diese Felder werden über das neue "Site"-Modul bereitgestellt. Wenn du dieses Modul deaktivierst, werden die Felder aus dem GraphQL-Schema entfernt.
Verbesserungen und Fehlerbehebungen
- Installation eines "internen" privaten Custom Endpoints (#2684)
- Dokumentation für das neue PRO-Feld
_strBase64Encodehinzugefügt (#2673) - Erweiterungen mit der Extensions Reference auf gatographql.com verknüpft (#2675)
- YouTube-Kanal-Link zur About-Seite hinzugefügt (#2676)
- Vordefinierte persisted queries hinzugefügt:
- Erweiterungen hervorgehoben und Link zum Besuch der Website aktiviert (#2674)
- Der GraphiQL-Client (für LocalWP) verwendet jetzt die Site-URL als Endpunkt (#2686)
- Interner Serverfehler beim Übergeben eines Strings, wenn ein Integer erwartet wird (v2.4.1)