library(Microsoft365R) #Load the package
my.drv <- get_personal_onedrive() #Log into OneDrive
my.drv$list_items() #List all subdirectories & files on the drive
my.drv$list_items("Documents/Books") #List subdirectories & files 

# Excel file (on OneDrive): US population statistics.xlsx 
uspop.data <- paste0("Documents/Books/R4Excel/",
                     "US Population Statistics.xlsx")
my.drv$open_item(uspop.data) #View the spreadsheet on a browser

    #-- Upload, download, and rename and delete files ---
hu.data <- "Documents/Books/R4Excel/US Housing Units2021.xlsx"
my.drv$upload_file(src = "NST-EST2021-HU.xlsx",
                   dest = hu.data)
my.drv$download_file(src = hu.data,
                     dest = "HU2021.xlsx",overwrite = TRUE)
my.drv$set_item_properties(path=hu.data, #rename a file 
                           name="HU1dr2021a.xlsx")
  #-- Delete the newly-created Excel file from OneDrive --
my.drv$delete_item("Documents/Books/R4Excel/HU1dr2021a.xlsx") 

  #-- Manipulating folders --
fdrObj.docs <- my.drv$get_item("Documents") #Create folder object
fdrObj.docs$list_files() #List all items in folder
fdrObj.docs$list_items() #List all items in folder.
                         #Synonym of list_files()
fdrObj.data <- fdrObj.docs$create_folder("Books/R4Excel/Data")
fdrObj.data$delete()

  #-- Getting file metada --
us.popdata <- "Books/R4Excel/US Population Statistics.xlsx"
      #--- Create a data file object ---
fileObj.uspop <- fdrObj.docs$get_item(us.popdata)  
fileObj.uspop$properties
my.drv$get_item_properties(paste0("Documents/",us.popdata))

  #-- Create links to Excel Online files --
us.popdata.lnk <- 
  fileObj.uspop$create_share_link(type = "view",
                                  password = "xyz123",
                                  expiry = NULL)
us.popdata.lnk