0

NINOX - SharePoint! Klappt... bis auf API MS Refresh Token - form-data

Hossa zusammen!

Ich habe es nach langem Hin- und Her geschafft, NINOX mit einem SharePoint zu verbinden. Ich kann aus der Ninox heraus Daten in eine Sharepoint Liste schreiben bzw. auslesen. Großartig!

Was mir allerdings Kopfschmerzen macht, ist der MS Access Token. Dieser ist nur einen Tag gültig und muss natürlich auch über Ninox refreshed werden. Über postman gelingt das; es werden die credentials im Body als form-data übermittelt.

Leider finde ich in der ninox nicht den richtigen Weg, diesen form-data body zu übermitteln... scheinbar ist der Body kein JSON Format, sondern erwartet folgenden Aufbau:

{
    "grant_type" : "client_credentials",
    "client_id" : "",
    "client_secret" : "",
    "scope" : "https://graph.microsoft.com/.default"
}

Gibt es hier eine Möglichkeit aus der Ninox heraus diesen Body zu übermitteln?

Momentan wirft er mir folgenden Fehler aus:

{"result":{"error":"invalid_request","error_description":"AADSTS900144:
The request body must contain the following parameter: 'grant_type'.\r\n
Trace ID: 07da9bcd-b1fe-4936-86bc-b4bb88935801\r\nCorrelation ID:
46b3bc8e-4f41-4ae0-85f1-e719ecf62492\r\nTimestamp: 2022-09-19 09:42:33Z",
"error_codes":[900144],"timestamp":"2022-09-19 09:42:33Z",
"trace_id":"07da9bcd-b1fe-4936-86bc-b4bb88935801","correlation_id":
"46b3bc8e-4f41-4ae0-85f1-e719ecf62492","error_uri":
"https://accounts.accesscontrol.windows.net/error?code=900144"}}

Hat da jemand eine Idee bzw. hat schonmal jemand diese Anbindung erfolgreich hergestellt?

LG Tobias

3 Antworten

null
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Tobias. Um ehrlich zu sein, habe ich keine blassen Schimmer, was Du da machst, aber dieser Body funktioniert wie ein Dictionary. Also ein Objekt mit key/value und könnte so ausgelesen werden. Vielleicht hilft es Dir ja. Mirko

    let content := {
            grant_type: "client_credentials",
            client_id: "",
            client_secret: "",
            scope: "https://graph.microsoft.com/.default"
        };
    let key := ["grant_type", "client_id", "client_secret", "scope"];
    for i in key do
        text(item(content, i))
    end
    
    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Meines Wissens kann die Rest-API von Ninox nur folgende Content Type:

    application/json

    multipart/formdata

    Ich wüsste nicht, wie man direkt aus Ninox heraus diesen für MS-Access notwendigen Body erstellt. Deshalb nutzen die User für MS-Anbindungen hauptsächlich Make, wobei diese auch nicht ganz rund laufen.

    • T_Bartzsch
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Danke euch beiden. @UweG Ja, ich fürchte auch, dass es über den klassischen Ninox Rest API Weg nicht klappt. Ich werde mal versuchen, einen Api Call über ein html Script abzusetzen. Ich habe bei NIOXUS sowas schonmal gesehen...

    Mirko Es geht darum, dass ich -um einen neuen Zugangstoken zu erstellen- den Body in der oben genannten Weise an die Microsoft-Api übermitteln muss. Als form-data... Ninox macht mir daraus aber ein JSON und ersetzt zb. auch die "" ... es sind in diesem Fall eben nicht key/value Werte sondern eben dieser form-data Body.

    Ich habe schon einige Rest APIs an Ninox angebunden (Dropbox, Google,  FTP, OpenRoute usw.) - aber MS macht hier etwas anders...

Content aside

  • vor 1 JahrZuletzt aktiv
  • 3Antworten
  • 138Ansichten
  • 3 Folge bereits