HCL Notes / Domino / Diverses > Entwicklung

Fehler bei cURL-Simulation?

(1/6) > >>

schroederk:
Hallo,

ich versuche folgenden cURL-Aufruf in Lotusscript umzusetzen:


--- Code: ---curl --request POST \
     --url https://api.signeasy.com/v2.1/original/ \
     --header 'Authorization: Bearer abc1234' \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --data '
{
     "name": "test.pdf",
     "rename_if_exists": true,
     "file": "data:application/pdf;name=test.pdf;base64,XXXYYYZZZ"
}
'

--- Ende Code ---

So sieht mein entsprechender Lotusscript-Code aus:


--- Code: --- ' hole Datei als Base64-String
Set stream = sess.CreateStream()
Call stream.Open("c:\temp\" & filename)
Set doc=New NotesDocument(db)
Set mimeent = doc.CreateMIMEEntity
Call mimeent.SetContentFromBytes(stream, "", ENC_IDENTITY_BINARY)
Call mimeent.EncodeContent(ENC_BASE64)
strEncodedFile = mimeent.ContentAsText()

Dim webRequest As NotesHTTPRequest
Set webRequest = sess.createhttprequest()
webRequest.maxredirects = 5
webRequest.Preferstrings = True

URL = "https://api.signeasy.com/v2.1/original/"
content = "data:application/pdf;name=" & filename & ";base64," & strEncodedFile

jsonBody = |{
"name" : filename,
"remame_if_exists" : True,
"file" : content
}|

' headers
Call webRequest.Setheaderfield("Authorization","Bearer abc1234")
Call webRequest.SetHeaderField("ContentType","application/json")
Call webRequest.SetHeaderField("Accept","application/json")

ret = webRequest.Post(URL,jsonBody)

Messagebox ret

--- Ende Code ---

Rückgabe ist folgende Meldung:
Missing required parameter name in json or the post body or the query string

Habe ich bei der Umsetzung noch etwas falsch gemacht?



jBubbleBoy:
Ich denke es liegt am json, weichen ja stark voneinander ab ;)

schroederk:

--- Zitat von: jBubbleBoy am 07.03.22 - 21:12:45 ---Ich denke es liegt am json, weichen ja stark voneinander ab ;)

--- Ende Zitat ---

Das ist auch meine starke Vermutung, da ja auch die Fehlermeldung sagt, dass offenbar der Parameter name nicht übergeben wurde.
Ich finde leider bisher keine Beispiele, wie der Json-Code korrekt aufgebaut und übertragen werden kann.

Ich habe noch ein Beispiel gefunden, wo der json-String etwas anders aufgebaut wird, allerdings mit ebenso wenig Erfolg:


--- Code: --- jsonBody = |{
"name" : "|+filename+|",
"remame_if_exists" : True,
"file" : "|+content+|"
}|

--- Ende Code ---

Hier gibts eine Anleitung für den Aufruf der API in verschiedenen Sprachen: https://docs.signeasy.com/reference/create-an-original-document

jBubbleBoy:
Der JSON-Body ist immer noch falsch, boolesche Werte werden klein geschrieben.

schroederk:

--- Zitat von: jBubbleBoy am 08.03.22 - 07:57:03 ---Der JSON-Body ist immer noch falsch, boolesche Werte werden klein geschrieben.

--- Ende Zitat ---

Auch das Kleinschreiben der Boolschen Werte hatte leider keinen Einfluss auf das Ergebnis. 

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln