Lua Requires Chilkat v11.0.0+
Lua
Outlook -- Create a Mail Folder
See more Outlook Examples
Creates a new mail folder as a child of an existing mail folder.Chilkat Lua Downloads
local chilkat = require("chilkat")
-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local http = chilkat.Http.new()
-- Use your previously obtained access token here:
http.auth_token = "MICROSOFT_GRAPH_ACCESS_TOKEN"
-- This example will create a new mail folder as a child of /Inbox/abc
-- Get the existing folder ID from the folder map created by this example
local htFolderMap = chilkat.Hashtable.new()
local sbMap = chilkat.StringBuilder.new()
sbMap:load_file("qa_data/outlook/folderMap.xml", "utf-8")
htFolderMap:add_from_xml_sb(sbMap)
local existingFolderId = htFolderMap:lookup_str("/Inbox/abc")
if not htFolderMap.last_method_success then
print("Folder ID not found")
return
end
-- Create a JSON request body with this content:
--
-- {
-- "displayName": "displayName-value",
-- }
-- This example will create /Inbox/abc/subFolderC
local jsonRequestBody = chilkat.JsonObject.new()
jsonRequestBody:update_string("displayName", "subFolderC")
http:set_url_var("folder_id", existingFolderId)
-- Create the folder "subFolderC" at the specified location.
local resp = chilkat.HttpResponse.new()
local success = http:http_json("POST", "https://graph.microsoft.com/v1.0/me/mailFolders/{$folder_id}/childFolders", jsonRequestBody, "application/json", resp)
if not success then
print(http.last_error_text)
return
end
-- A 201 response indicates success.
if http.last_status == 201 then
print("Folder created.")
else
print("Response status code = " .. resp.status_code)
print("Error: Folder not created.")
end
-- Show the response in both cases..
local jsonResponse = chilkat.JsonObject.new()
jsonResponse.emit_compact = false
jsonResponse:load(resp.body_str)
print(jsonResponse:emit())
-- A sample successful JSON response looks like this:
-- {
-- "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('me')/mailFolders('AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAL8huv8AAAA%3D')/childFolders/$entity",
-- "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAM6JqMIAAAA=",
-- "displayName": "subFolderC",
-- "parentFolderId": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAL8huv8AAAA=",
-- "childFolderCount": 0,
-- "unreadItemCount": 0,
-- "totalItemCount": 0
-- }