procedure fnuploadDocument(docToUpload: Text; foldersArray: array[5] of Text; docName: Text): Text
var
httpClient: HttpClient;
httpContent: HttpContent;
httpResponseMessage: HttpResponseMessage;
httpContentHeaders: HttpHeaders;
HttpRequestMessage: HttpRequestMessage;
apiUrl: Text;
Responsetxt: Text;
JSonRequest: JsonObject;
FolderTxt: Text;
RequestmesgTxt: Text;
RequestBody: Text;
RequestType: Enum "Http Requests Enum";
JsonResp: JsonObject;
fileUrl: Text;
JsonToken: JsonToken;
JsonArray: JsonArray;
statustxt: Text;
begin
ObjIctSetup.GET;
apiUrl := ObjIctSetup."Sharepoint Integrat. Base URL" + 'sharepoint/file';
FolderTxt := '/' + foldersArray[1] + '/' + foldersArray[2] + '/' + foldersArray[3] + '/' + foldersArray[4] + '/' + foldersArray[5];
RequestBody += '{';
RequestBody += '"fileName":"' + docName + '",';
RequestBody += '"fileContent":"' + doctoupload + '",';
RequestBody += '"folderName":"' + folderTxt + '"';
RequestBody += '}';
Responsetxt := CallService(apiUrl, RequestType::post, RequestBody, '', '', ObjIctSetup."Sharepoint Api Key");
JsonResp.ReadFrom(Responsetxt);
JsonResp.Get('status', JsonToken);
statustxt := JsonToken.AsValue().AsText();
if statustxt = '200' then begin
JsonResp.Get('data', JsonToken);
JsonResp := JsonToken.AsObject();
JsonResp.Get('fileUrl', JsonToken);
fileUrl := JsonToken.AsValue().AsText();
exit(fileUrl);
end else begin
Error('Error uploading document');
end;
end;
procedure fnDownloadDocument(folderRelativeUrl: Text; docName: Text): Text
var
httpClient: HttpClient;
httpContent: HttpContent;
httpResponseMessage: HttpResponseMessage;
httpContentHeaders: HttpHeaders;
HttpRequestMessage: HttpRequestMessage;
apiUrl: Text;
Responsetxt: Text;
JSonRequest: JsonObject;
FolderTxt: Text;
RequestmesgTxt: Text;
CuRest: Codeunit "Web Service Management";
RequestBody: Text;
RequestType: Enum "Http Requests Enum";
JsonResp: JsonObject;
fileUrl: Text;
JsonToken: JsonToken;
JsonArray: JsonArray;
doctoupload: Text;
statustxt: Text;
begin
ObjIctSetup.GET;
apiUrl := ObjIctSetup."Sharepoint Integrat. Base URL" + 'sharepoint/download';
RequestBody += '{';
RequestBody += '"fileName":"' + docName + '",';
RequestBody += '"fileContent":"' + doctoupload + '",';
RequestBody += '"folderName":"' + folderRelativeUrl + '"';
RequestBody += '}';
Responsetxt := CallService(apiUrl, RequestType::post, RequestBody, '', '', ObjIctSetup."Sharepoint Api Key");
if Responsetxt <> '' then begin
exit(Responsetxt);
end else begin
Error('Error downloading document');
end;
end;
procedure fnDeleteDocument(folderRelativeUrl: Text; docName: Text): Text
var
httpClient: HttpClient;
httpContent: HttpContent;
httpResponseMessage: HttpResponseMessage;
httpContentHeaders: HttpHeaders;
HttpRequestMessage: HttpRequestMessage;
apiUrl: Text;
Responsetxt: Text;
JSonRequest: JsonObject;
FolderTxt: Text;
RequestmesgTxt: Text;
CuRest: Codeunit "Web Service Management";
RequestBody: Text;
RequestType: Enum "Http Requests Enum";
JsonResp: JsonObject;
fileUrl: Text;
JsonToken: JsonToken;
JsonArray: JsonArray;
doctoupload: Text;
begin
ObjIctSetup.GET;
apiUrl := ObjIctSetup."Sharepoint Integrat. Base URL" + 'sharepoint/file:delete';
RequestBody += '{';
RequestBody += '"fileName":"' + docName + '",';
RequestBody += '"fileContent":"' + doctoupload + '",';
RequestBody += '"folderName":"' + folderRelativeUrl + '"';
RequestBody += '}';
Responsetxt := CallService(apiUrl, RequestType::post, RequestBody, '', '', ObjIctSetup."Sharepoint Api Key");
JsonResp.ReadFrom(Responsetxt);
JsonResp.Get('status', JsonToken);
exit(JsonToken.AsValue().AsText());
end;
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter