Results 1 to 3 of 3

Thread: Curl to TRestRequest

  1. #1
    Senior Member
    Join Date
    Jan 2002
    Location
    Halen, Belgi?½
    Posts
    139

    Question Curl to TRestRequest

    Hi,

    Ik probeer volgende curl om te zetten naar een TRestRequest:
    curl --form data=@"C:\documents.zip" --form type=documents --form reference=referntienr -H "access-token: xyz" -i https://urlnaardeapi.be/api/upload

    Deze curl werkt perfect als ik hem uitvoer met de juiste gegevens

    Ik heb deze al proberen om te zetten naar een TRestRequest met volgende code

    Code:
        SendFile := TMemoryStream.Create;
        SendFile.LoadFromFile(bestand);
        SendFile.Position := 0;
    
    
        RESTRequestIxor.Method := rmPOST;
        RESTRequestIxor.Params.Clear;
        RESTRequestIxor.Params.AddItem('access-token', 'xyz', pkHTTPHEADER, [], ctNone);
        RESTRequestIxor.Params.AddItem('Content-type','multipart/form-data', pkHTTPHEADER, [], ctNone);
        RESTRequestIxor.Params.AddItem('reference', 'referentienr', pkGETorPOST, [], ctNone);
        RESTRequestIxor.Params.AddItem('type', 'documents', pkGETorPost, [],ctNone);
        RESTRequestIxor.Params.AddItem('data', SendFile, pkGETorPOST, [poDoNotEncode], ctMULTIPART_FORM_DATA);
    
    
        try
          RESTRequestIxor.Execute;
       except
          //hier wordt exception opgevangen
       end;
    Echter hier krijg ik een 401 authentication error terug.
    Iemand enig idee wat ik fout doe?

  2. #2
    Misschien omdat parameters bij een REST request wat anders zijn dan HTTP headers. En de access-token moet via de headers meegegeven worden.

    O, ik zie al daar je ze als header meegeeft.

    Kun je voor de request zien wat de headers zijn?

    Trouwens raar dat die access-token als header staat. Normaal staat een access-token in de url zelf en.niet als header. Als de authenticatie in de header staat, dan is het meestal een Authorization: Bearer.
    Last edited by rvk; 28-Mar-20 at 13:36.

  3. #3
    Senior Member
    Join Date
    Jan 2002
    Location
    Halen, Belgi?½
    Posts
    139
    Uiteindelijk is het me gelukt met volgende params:


    Code:
        RESTRequestIxor.Params.Clear;
        RESTRequestIxor.Params.AddItem('reference', 'referentienr', pkREQUESTBODY, [], ctTEXT_PLAIN);
        RESTRequestIxor.Params.AddItem('type', 'documents', pkREQUESTBODY, [],ctTEXT_PLAIN);
        RESTRequestIxor.Params.AddItem('data',bestand, pkFILE, [], ctAPPLICATION_ZIP);
        RESTRequestIxor.Params.AddItem('access-token',Qparam.FieldByName('ixor_access_key').AsString,pkHTTPHEADER, [poDoNotEncode], ctNone);

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •