Hello,
I am operating in a HigherEd space with an institutionally-managed Microsoft365 account account - an important note as I think business accounts operate differently.
I was just working on embedding a PowerPoint into a Canvas page, and this is what I've found in the process:
I first tried setting the permissions to "anyone with the link can view" and copy/pasting the embed code into the HTML editor. This did not work*.
Usually users (not role-specific) get an error that says "[insitution.sharepoint.com refused to connect". Initially, I thought this error was because of the sharing setting: The file sharing setting needs to be "anyone at [institution] can view" rather than "anyone with the link can view". (This seems counterintuitive to me, but from what I've seen online and my limited understanding of cybersecurity, I believe this to be a way of making your personal OneDrive more secure.) After changing that setting, users would be prompted to log in to Office365, but the page just sat blank.
*I admit that this may not work because of some kind of institutional setting, so perhaps this will work for you? It seems to work for Penn State based on their blog updated only 4 months ago.
Then I tried embedding with the Office365 integration external tool. This kind of works.
When going to a module and adding an external tool, what's added ends up operating like an external URL - it's just a link that opens in a new tab. This does maintain the "live" functionality that you are looking for, but from a presentation standpoint, it is not the same as embedding.
Then I tried embedding onto a page with Office365 from the RCE. This works with one additional step.
This article from the Instructor Guide shows how to add a OneDrive file into a page. As shown on the article images, it just puts in a hyperlink. To embed, follow these steps:
- Open the HTML editor. You will see the code for the file you just added. It will look something like this:
<p><a title="Document.doc" href="/courses/####/external_tools/retrieve?display=borderless&url=https%##%##%##office365-pdx-prod.instructure.com%#####%##linked-share-item%%#######%##rce_content_item_selection" target="_blank" rel="noopener">Document.doc</a></p>
- Copy the href portion of this code (in red above) and put it into any iFrame generator (or if you know HTML, you can add the respective portions to take this URL and make it display in an iFrame). I used this iFrame generator.
- Copy the code that the iFrame generator gives you and replace the code that the RCE gave you. You can see below that it uses and adds to that href portion of the code that you copied:
<p><iframe style-border: 0px #ffffff none;" src="https://yourcanvas.instructure.com/courses/####/external_tools/retrieve?display=borderless&url=https%##%##%##office365-pdx-prod.instructure.com%#####%##linked-share-item%%#######%##rce_content_item_selection" width="100%" height="700px" name=myiFrame" allowfullscreen=allowfullscreen"></iframe></p>
- Save the page. Users will see the login screen embedded into the page, and after logging in, will see the live and functional document.