Learn R Programming

Microsoft365R (version 1.0.0)

ms_drive_item: File or folder in a drive

Description

Class representing an item (file or folder) in a OneDrive or SharePoint document library.

Arguments

Format

An R6 object of class ms_drive_item, inheriting from ms_object.

Fields

  • token: The token used to authenticate with the Graph host.

  • tenant: The Azure Active Directory tenant for the parent drive.

  • type: always "drive item" for a drive item object.

  • properties: The item properties (metadata).

Methods

  • new(...): Initialize a new object. Do not call this directly; see 'Initialization' below.

  • delete(confirm=TRUE): Delete this item. By default, ask for confirmation first.

  • update(...): Update the item's properties (metadata) in Microsoft Graph.

  • do_operation(...): Carry out an arbitrary operation on the item.

  • sync_fields(): Synchronise the R object with the item metadata in Microsoft Graph.

  • open(): Open the item in your browser.

  • download(dest, overwrite): Download the file. Not applicable for a folder.

  • create_share_link(type, expiry, password, scope): Create a shareable link to the file or folder. See 'Sharing' below.

Initialization

Creating new objects of this class should be done via the get_item method of the ms_drive class. Calling the new() method for this class only constructs the R object; it does not call the Microsoft Graph API to retrieve or create the actual item.

Sharing

create_share_link(type, expiry, password, scope) returns a shareable link to the item. Its arguments are

  • type: Either "view" for a read-only link, "edit" for a read-write link, or "embed" for a link that can be embedded in a web page. The last one is only available for personal OneDrive.

  • expiry: How long the link is valid for. The default is 7 days; you can set an alternative like "15 minutes", "24 hours", "2 weeks", "3 months", etc. To leave out the expiry date, set this to NULL.

  • scope: Optionally the scope of the link, either "anonymous" or "organization". The latter allows only users in your AAD tenant to access the link, and is only available for OneDrive for Business or SharePoint.

This function returns a URL to access the item, for type="view" or "type=edit". For type="embed", it returns a list with components webUrl containing the URL, and webHtml containing a HTML fragment to embed the link in an IFRAME.

See Also

ms_graph, ms_site, ms_drive

Microsoft Graph overview, OneDrive API reference

Examples

Run this code
# NOT RUN {
# personal OneDrive
gr2 <- get_graph_login("consumers")
me <- gr2$get_user()
mydrv <- me$get_drive()

myfile <- drv$get_item("myfile.docx")
myfile$properties

# rename a file
myfile$update(name="newname.docx")

# open the file in the browser
myfile$open()

# download the file to the working directory
myfile$download()

# shareable links
myfile$create_share_link()
myfile$create_share_link(type="edit", expiry="24 hours")
myfile$create_share_link(password="Use-strong-passwords!")

# delete the file (will ask for confirmation first)
myfile$delete()

# }

Run the code above in your browser using DataLab