Internet
HasInternetConnection#
Die Aktion HasInternetConnection prüft, ob eine Verbindung zu dem Internet aufgebaut werden kann. Falls ja wird true über das Attribut Variable zurückgegeben.
<HasInternetConnection Condition="" Variable="{@Result}" IgnoreError="false" />Attribute:
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) Variable, in der gespeichert wird, ob die Aktion erfolgreich ausgeführt wurde (true oder false).
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Ping#
Die Aktion Ping prüft, ob eine Verbindung zu einer bestimmten Adresse per Ping durchgeführt werden kann. Falls ja wird true über das Attribut Variable zurückgegeben.
<Ping Address="" Condition="" Variable="{@Result}" IgnoreError="false" />Attribute:
- Address: Der Wert für Address.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) Variable, in der gespeichert wird, ob die Aktion erfolgreich ausgeführt wurde (true oder false).
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
GetLocalIPAddress#
Die Aktion GetLocalIPAddress liefert über die Variable die lokale IP Adresse der Netzwerkkarte die mit dem Standardgateway verbunden ist zurück.
<GetLocalIPAddress Condition="" Variable="{@Result}" IgnoreError="false" />Attribute:
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) Variable, in der gespeichert wird, ob die Aktion erfolgreich ausgeführt wurde (true oder false).
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
FileDownload#
Die Aktion FileDownload lädt die angegebene Datei aus dem Internet (Attribut: Source) und speichert die Datei in das angegebene Zielverzeichnis (Attribut: Destination).
<FileDownload Source="" Destination="" Condition="" Variable="{@Result}" IgnoreError="false" />Attribute:
- Source: Quellpfad oder Quelldatei.
- Destination: Zielpfad oder Zieldatei.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) Variable, in der gespeichert wird, ob die Aktion erfolgreich ausgeführt wurde (true oder false).
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
SSLCertificateValidation#
Die Aktion SSLCertificateValidation steuert, ob SSL-Zertifikate während einer HTTPS-Verbindung überprüft werden sollen.
<SSLCertificateValidation Ignore="true" Variable="{@Result}" />Attribute:
- Ignore: Gibt an, ob die Validierung von SSL-Zertifikaten ignoriert wird (true oder false).
- Variable: (Optional) Variable, in der gespeichert wird, ob die Aktion erfolgreich ausgeführt wurde (true oder false).
Beispiel:
<SSLCertificateValidation Ignore="true" Variable="{@Result}" />Setzt die SSL-Zertifikatüberprüfung auf ignorieren. Dies kann nützlich sein, wenn mit selbstsignierten Zertifikaten gearbeitet wird oder wenn keine Validierung erforderlich ist.
HttpTextEscape#
Die Aktion HttpTextEscape wandelt einen Text in eine HTTP-escaped Zeichenkette um (z. B. für URLs oder HTTP-Parameter).
<HttpTextEscape Text="" Variable="{@Result}" />Attribute:
- Text: Der Text, der in eine HTTP-escaped Zeichenkette konvertiert werden soll.
- Variable: Variable, in der die konvertierte Zeichenkette gespeichert wird.
Beispiel:
<HttpTextEscape Text="Hello, World!" Variable="{@Result}" />Konvertiert den Text Hello, World! in eine HTTP-escaped Zeichenkette, z. B. Hello%2C%20World%21, und speichert sie in {@Result}.
HttpTextUnescape#
Die Aktion HttpTextUnescape wandelt eine HTTP-escaped Zeichenkette in ihren ursprünglichen Text um.
<HttpTextUnescape Text="" Variable="{@Result}" />Attribute:
- Text: Die HTTP-escaped Zeichenkette, die dekodiert werden soll.
- Variable: Variable, in der der dekodierte Text gespeichert wird.
Beispiel:
<HttpTextUnescape Text="Hello%2C%20World%21" Variable="{@Result}" />Dekodiert die Zeichenkette Hello%2C%20World%21 in den ursprünglichen Text Hello, World! und speichert ihn in {@Result}.
SSHExecuteCommand#
Die Aktion SSHExecuteCommand führt einen Befehl auf einem entfernten Server über eine SSH-Verbindung aus.
<SSHExecuteCommand Command="" Servername="" User="" Password="" Port="22" Sudo="false" SudoPassword="" PrivateKeyPath="" PrivateKeyPassphrase="" Message="{@ResultMessage}" Condition="" Variable="{@Result}" IgnoreError="false" />Attribute:
- Command: Der auszuführende Befehl auf dem Remote-Server.
- Servername: Der Hostname oder die IP-Adresse des Remote-Servers.
- User: Der Benutzername für die SSH-Authentifizierung.
- Password: Das Passwort für die SSH-Authentifizierung.
- Port: Der SSH-Port des Servers (Standardwert: 22).
- Sudo: Gibt an, ob der Befehl mit sudo ausgeführt werden soll (true oder false).
- SudoPassword: (Optional) Das Passwort für die sudo-Authentifizierung, falls benötigt.
- PrivateKeyPath: (Optional) Pfad zur privaten Schlüsseldatei für die schlüsselbasierte Authentifizierung (z.B.
C:\\Keys\\id_rsa). Wenn angegeben, wird dieser Schlüssel statt des Passworts für die Authentifizierung verwendet. - PrivateKeyPassphrase: (Optional) Passphrase zum Entschlüsseln des privaten Schlüssels, falls dieser passwortgeschützt ist.
- Message: Variable, in der die Ausgabe des ausgeführten Befehls gespeichert wird.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: Variable, in der gespeichert wird, ob der Befehl erfolgreich ausgeführt wurde (true oder false).
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<SSHExecuteCommand Command="ls -la /var/log" Servername="192.168.1.100" User="root" Password="securepassword123" Port="22" Sudo="true" SudoPassword="securepassword123" Message="{@ResultMessage}" Condition="" Variable="{@Result}" IgnoreError="false" />- Führt den Befehl ls -la /var/log auf dem Server 192.168.1.100 aus.
- Der Benutzer root wird verwendet, und die Authentifizierung erfolgt über das Passwort securepassword123.
- Der Befehl wird mit sudo ausgeführt, und das sudoPassword ist ebenfalls securepassword123.
- Die Ausgabe des Befehls wird in der Variable {@ResultMessage} gespeichert.
- Der Status der Ausführung (true/false) wird in {@Result} gespeichert.
Besondere Hinweise:
- Der Standard-SSH-Port ist 22, kann aber durch Angabe eines anderen Werts angepasst werden.
- Wenn Sudo="true" verwendet wird, muss das Attribut SudoPassword angegeben sein, falls der Benutzer ein Passwort für sudo benötigt.
- Die Ausgabe des Befehls, wie Fehlermeldungen oder Standardausgabe, wird in Message gespeichert.
SendHttpRequest#
Über die Aktion SendHttpRequest können Request an die in dem Attribut Url hinterlegte Adresse versendet werden. Abhängig von der Methode (Attribut: Method) können für z.B. für die Methode GET URL-Parameter über das Attribut UrlParameter angehangen werden. Für die Methode POST können die zu übertragenden Werte in dem Attribut Request angegeben werden. Der Content-Type des Request kann über das das Attribut Format bestimmt werden. Ist die URL durch eine Http-Authentifizierung geschützt, können die Anmeldedaten über die Attribute User und Password hinterlegt werden.
<SendHttpRequest Url="" UrlParameter="" Response="" Request="" Method="GET" Format="" User="" Password="" Condition="" Variable="{@Result}" IgnoreError="false" Header="{@HeaderList}" />Attribute:
- Url: Der Wert für Url.
- UrlParameter: Der Wert für UrlParameter.
- Response: Der Wert für Response.
- Request: Der Wert für Request.
- Method: Method-Wert (Standardwert: GET).
- Format: Der Formatausdruck für die Ausgabe.
- User: Benutzername für die Authentifizierung.
- Password: Passwort für die Authentifizierung.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) Variable, in der gespeichert wird, ob die Aktion erfolgreich ausgeführt wurde (true oder false).
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
- Header: Header-Wert (Standardwert: {@HeaderList}).
Über das Header-Attribut können Header Informationen mit angegeben werden die an den Server geschickt werden solle:
<KeyValueListAdd Data="{@HeaderList}" Key="Key1" Value="1234" />
RESTGet#
Führt einen HTTP GET-Request auf eine REST API aus.
<RESTGet Url="" Response="{@myResponse}" User="" Password="" Header="{@myHeaders}" Variable="{@StatusCode}" />Attribute:
- Url: Vollständige URL des REST-Endpunkts.
- Response: Variable in der die Antwort des Servers gespeichert wird (meist JSON oder XML).
- User: (Optional) Benutzername für HTTP Basic Authentication.
- Password: (Optional) Passwort für Basic Auth ? oder Bearer Token wenn kein
Userangegeben. - Header: (Optional) KeyValueList-Variable mit zusätzlichen HTTP-Headern (Spalten
KeyundValue). - Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) Speichert den HTTP-Statuscode (z.B.
200). Aktion lieferttruebei 2xx-Antworten. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Kundendaten aus externer API abrufen und in DB aktualisieren -->
<RESTGet Url="https://api.example.com/kunden/{@KundenID}"
Password="{@ApiToken}"
Response="{@KundeJson}" />
<JSONRead Json="{@KundeJson}" Path="name" Variable="{@Name}" />
<JSONRead Json="{@KundeJson}" Path="email" Variable="{@Email}" />
<SQLExecute Query="UPDATE Kunden SET Name='{@Name}', Email='{@Email}' WHERE ExternID={@KundenID}"
Connection="{@myConn}" />
RESTPost#
Sendet Daten per HTTP POST an eine REST API.
<RESTPost Url="" Body="{@myJson}" ContentType="application/json" Response="{@myResponse}" User="" Password="" Header="{@myHeaders}" Variable="{@StatusCode}" />Attribute:
- Url: Vollständige URL des REST-Endpunkts.
- Body: Der zu sendende Inhalt (meist JSON-String aus
{@myJson}). - ContentType: (Optional) MIME-Typ des Bodys. Standard:
application/json. Alternativ:application/xml,application/x-www-form-urlencoded. - Response: (Optional) Variable für die Serverantwort.
- User: (Optional) Benutzername für Basic Auth.
- Password: (Optional) Passwort oder Bearer Token.
- Header: (Optional) KeyValueList-Variable mit zusätzlichen Headern.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) HTTP-Statuscode.
truebei 2xx. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Neuen Kunden in externer API anlegen und ID zurückspeichern -->
<JSONCreate Json="{@myJson}" />
<JSONUpdate Json="{@myJson}" Path="name" Value="{@Name}" Type="string" />
<JSONUpdate Json="{@myJson}" Path="email" Value="{@Email}" Type="string" />
<JSONUpdate Json="{@myJson}" Path="telefon" Value="{@Telefon}" Type="string" />
<RESTPost Url="https://api.example.com/kunden"
Body="{@myJson}"
Password="{@ApiToken}"
Response="{@ResponseJson}" />
<JSONRead Json="{@ResponseJson}" Path="id" Variable="{@NeueExternID}" />
<SQLExecute Query="UPDATE Kunden SET ExternID={@NeueExternID} WHERE ID={@ID}"
Connection="{@myConn}" />
RESTPut#
Aktualisiert eine Ressource vollständig per HTTP PUT.
<RESTPut Url="" Body="{@myJson}" ContentType="application/json" Response="{@myResponse}" User="" Password="" Header="{@myHeaders}" Variable="{@StatusCode}" />Attribute:
- Url: Vollständige URL des REST-Endpunkts.
- Body: Der zu sendende Inhalt (meist JSON-String aus
{@myJson}). - ContentType: (Optional) MIME-Typ des Bodys. Standard:
application/json. Alternativ:application/xml,application/x-www-form-urlencoded. - Response: (Optional) Variable für die Serverantwort.
- User: (Optional) Benutzername für Basic Auth.
- Password: (Optional) Passwort oder Bearer Token.
- Header: (Optional) KeyValueList-Variable mit zusätzlichen Headern.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) HTTP-Statuscode.
truebei 2xx. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Bestehenden Kunden in externer API vollständig ersetzen -->
<JSONCreate Json="{@myJson}" />
<JSONUpdate Json="{@myJson}" Path="name" Value="{@Name}" Type="string" />
<JSONUpdate Json="{@myJson}" Path="email" Value="{@Email}" Type="string" />
<RESTPut Url="https://api.example.com/kunden/{@ExternID}"
Body="{@myJson}"
Password="{@ApiToken}" />
RESTPatch#
Aktualisiert eine Ressource teilweise per HTTP PATCH.
<RESTPatch Url="" Body="{@myJson}" ContentType="application/json" Response="{@myResponse}" User="" Password="" Header="{@myHeaders}" Variable="{@StatusCode}" />Attribute:
- Url: Vollständige URL des REST-Endpunkts.
- Body: Der zu sendende Inhalt (meist JSON-String aus
{@myJson}). - ContentType: (Optional) MIME-Typ des Bodys. Standard:
application/json. Alternativ:application/xml,application/x-www-form-urlencoded. - Response: (Optional) Variable für die Serverantwort.
- User: (Optional) Benutzername für Basic Auth.
- Password: (Optional) Passwort oder Bearer Token.
- Header: (Optional) KeyValueList-Variable mit zusätzlichen Headern.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) HTTP-Statuscode.
truebei 2xx. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Nur den Status eines Auftrags in der externen API ändern -->
<JSONCreate Json="{@myJson}" />
<JSONUpdate Json="{@myJson}" Path="status" Value="abgeschlossen" Type="string" />
<RESTPatch Url="https://api.example.com/auftraege/{@AuftragID}"
Body="{@myJson}"
Password="{@ApiToken}" />
RESTDelete#
Löscht eine Ressource per HTTP DELETE.
<RESTDelete Url="" Response="{@myResponse}" User="" Password="" Header="{@myHeaders}" Variable="{@StatusCode}" />Attribute:
- Url: Vollständige URL der zu löschenden Ressource.
- Response: (Optional) Variable für die Serverantwort.
- User: (Optional) Benutzername für Basic Auth.
- Password: (Optional) Passwort oder Bearer Token.
- Header: (Optional) KeyValueList-Variable mit zusätzlichen Headern.
- Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
- Variable: (Optional) HTTP-Statuscode.
truebei 2xx. - IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel:
<!-- Gelöschte Kunden auch aus externer API entfernen -->
<SQLReadData Data="{@Geloescht}"
Query="SELECT ExternID FROM Kunden WHERE Geloescht=1 AND ExternID IS NOT NULL"
Connection="{@myConn}" />
<ForEach Data="{@Geloescht}">
<RESTDelete Url="https://api.example.com/kunden/{@Data:ExternID}"
Password="{@ApiToken}" />
</ForEach>
OAuth2GetToken#
Über die Aktion OAuth2GetToken wird ein OAuth2 Access Token über den Client Credentials Flow geholt und in der angegebenen Variable gespeichert. Dieser Flow wird für Server-zu-Server-Kommunikation ohne Benutzeranmeldung verwendet. Das Token kann im weiteren Skriptablauf über die Variable direkt als Bearer Token für REST-Aufrufe verwendet werden.
<OAuth2GetToken TokenUrl="" ClientId="" ClientSecret="" Scope="" AuthMode="body" Condition="" Variable="{@ApiToken}" IgnoreError="false" />Attribute:
- TokenUrl: Die Token-Endpunkt URL. Unterstützt folgende Shortcuts:
microsoft:{tenantId}?https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/tokengoogle?https://oauth2.googleapis.com/tokenamazon?https://api.amazon.com/auth/o2/tokensalesforce:{instanceUrl}?{instanceUrl}/services/oauth2/tokenkeycloak:{baseUrl}:{realm}?{baseUrl}/realms/{realm}/protocol/openid-connect/token- Beliebige direkte URL (z. B.
https://auth.example.com/oauth/token)
- ClientId: Die Client-ID der registrierten Anwendung.
- ClientSecret: Das Client-Secret der registrierten Anwendung.
- Scope: (Optional) Der angeforderte Berechtigungsbereich, z. B.
https://graph.microsoft.com/.defaultfür Microsoft Graph. - AuthMode: Art der Übergabe von ClientId und ClientSecret.
body(Standard) übergibt die Werte im POST-Body,basicübergibt sie als HTTP Basic Auth Header. - Variable: Variable, in der das Access Token gespeichert wird. Danach im Skript als Bearer Token verwendbar.
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel: Microsoft Graph API
<OAuth2GetToken TokenUrl="microsoft:a1b2c3d4-e5f6-7890-abcd-ef1234567890"
ClientId="{@AzureClientId}"
ClientSecret="{@AzureClientSecret}"
Scope="https://graph.microsoft.com/.default"
Variable="{@ApiToken}" />
<RESTGet Url="https://graph.microsoft.com/v1.0/users"
Password="{@ApiToken}"
Response="{@UsersJson}" />Beispiel: Keycloak
<OAuth2GetToken TokenUrl="keycloak:https://auth.firma.de:meineApp"
ClientId="{@ClientId}"
ClientSecret="{@ClientSecret}"
Scope="api-zugriff"
Variable="{@ApiToken}" />
<RESTGet Url="https://api.firma.de/artikel"
Password="{@ApiToken}"
Response="{@Json}" />Beispiel: Beliebiger Dienst mit Basic Auth
<OAuth2GetToken TokenUrl="https://auth.example.com/oauth/token"
ClientId="{@ClientId}"
ClientSecret="{@ClientSecret}"
Scope="read write"
AuthMode="basic"
Variable="{@ApiToken}" />Das Token bleibt für den gesamten Skriptablauf in der Variable verfügbar und kann beliebig oft in RESTGet, RESTPost und anderen REST-Aktionen als Password="{@ApiToken}" verwendet werden (Password ohne User = Bearer Token).
OAuth2GetTokenWithPassword#
Über die Aktion OAuth2GetTokenWithPassword wird ein OAuth2 Access Token über den Resource Owner Password Flow geholt. Bei diesem Flow werden Benutzer-Credentials (Benutzername und Passwort) direkt an den Token-Endpunkt übermittelt. Dieser Flow wird für Legacy-Systeme oder interne Dienste verwendet, die keine Weiterleitungs-URL unterstützen.
<OAuth2GetTokenWithPassword TokenUrl="" ClientId="" ClientSecret="" Username="" Password="" Scope="" Condition="" Variable="{@ApiToken}" IgnoreError="false" />Attribute:
- TokenUrl: Die Token-Endpunkt URL. Unterstützt dieselben Shortcuts wie
OAuth2GetToken(microsoft:, keycloak:, salesforce: usw.) sowie direkte URLs. - ClientId: Die Client-ID der registrierten Anwendung.
- ClientSecret: Das Client-Secret der registrierten Anwendung.
- Username: Der Benutzername für die Anmeldung.
- Password: Das Passwort des Benutzers.
- Scope: (Optional) Der angeforderte Berechtigungsbereich, z. B.
openid profile. - Variable: Variable, in der das Access Token gespeichert wird.
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel: Keycloak mit Benutzeranmeldung
<OAuth2GetTokenWithPassword
TokenUrl="keycloak:https://auth.firma.de:meineApp"
ClientId="{@ClientId}"
ClientSecret="{@ClientSecret}"
Username="{@BenutzerName}"
Password="{@BenutzerPasswort}"
Scope="openid profile"
Variable="{@ApiToken}" />
<RESTGet Url="https://api.firma.de/meine-daten"
Password="{@ApiToken}"
Response="{@Json}" />Beispiel: Interner Dienst mit festen Credentials aus DataParameter
<DataParameter Name="OAuth" Type="String" />
<DataParameterAdd DataParameter="{@OAuth}" Name="ClientId" Value="mein-client" />
<DataParameterAdd DataParameter="{@OAuth}" Name="ClientSecret" Value="geheim" />
<DataParameterAdd DataParameter="{@OAuth}" Name="Username" Value="serviceuser" />
<DataParameterAdd DataParameter="{@OAuth}" Name="Password" Value="servicepass" />
<OAuth2GetTokenWithPassword
TokenUrl="https://intern.firma.de/oauth/token"
ClientId="{@DataParameter:OAuth:ClientId}"
ClientSecret="{@DataParameter:OAuth:ClientSecret}"
Username="{@DataParameter:OAuth:Username}"
Password="{@DataParameter:OAuth:Password}"
Variable="{@ApiToken}" />Hinweis: Der Resource Owner Password Flow gilt als weniger sicher als der Client Credentials Flow, da Benutzer-Credentials direkt übermittelt werden. Er sollte nur verwendet werden, wenn der Dienst keinen anderen Flow unterstützt.
OAuth2RefreshToken#
Über die Aktion OAuth2RefreshToken wird ein abgelaufenes Access Token mit einem vorhandenen Refresh Token erneuert. Ein Refresh Token wird typischerweise beim ersten Token-Abruf zusammen mit dem Access Token ausgestellt und hat eine deutlich längere Gültigkeitsdauer.
<OAuth2RefreshToken TokenUrl="" ClientId="" ClientSecret="" RefreshToken="" Scope="" Condition="" Variable="{@ApiToken}" IgnoreError="false" />Attribute:
- TokenUrl: Die Token-Endpunkt URL. Unterstützt dieselben Shortcuts wie
OAuth2GetToken. - ClientId: Die Client-ID der registrierten Anwendung.
- ClientSecret: Das Client-Secret der registrierten Anwendung.
- RefreshToken: Das vorhandene Refresh Token, z. B. aus einer früheren Anmeldung oder einem gespeicherten Wert.
- Scope: (Optional) Der angeforderte Berechtigungsbereich. Kann bei manchen Diensten weggelassen werden.
- Variable: Variable, in der das neue Access Token gespeichert wird.
- IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).
Beispiel: Token erneuern mit gespeichertem Refresh Token
<!-- Refresh Token wurde zuvor z. B. in einer Datei oder DB gespeichert -->
<TextFileRead Source="C:\Config\refresh_token.txt" Variable="{@GespeicherterRefreshToken}" />
<OAuth2RefreshToken
TokenUrl="https://auth.example.com/oauth/token"
ClientId="{@ClientId}"
ClientSecret="{@ClientSecret}"
RefreshToken="{@GespeicherterRefreshToken}"
Variable="{@ApiToken}" />
<RESTGet Url="https://api.example.com/daten"
Password="{@ApiToken}"
Response="{@Json}" />Hinweis: Nicht alle OAuth2-Dienste unterstützen Refresh Tokens im Client Credentials Flow ? dieser Flow ist zustandslos und stellt in der Regel keine Refresh Tokens aus. OAuth2RefreshToken wird typischerweise nach einem Authorization Code Flow oder Password Flow benötigt, bei dem ein Refresh Token ausgestellt wurde.
HTMLContent#
Der Tag HTML bietet die Möglichkeit direkt in dem Batchpad-Skript ein HTML-Dokument zu hinterlegen. Das Dokument kann anschließend in der Form {@HTML:Beispiel} angesprochen werden. Wobei wie in dem Beispiel die Zeichenfolge "Beispiel" als Wert für das Attribut Name angegeben werden muss.
<HTML Name="Beispiel">
...
</HTML>