I've already checked some questions here on SO but couldn't find much help...
This one, for instance, is from 2011:
Embed Google docs editor into webpage?
My users need to be able to edit their Word documents on my website, just like Google docs editor and Office 365. Since I couldn't find information on how to easily integrate those, my current attempt was to convert the Word document to HTML (using OpenXmlPowerTools.HtmlConverter.ConvertToHtml) show it in a HTML editor and after the user edited the content save it back to the file (using NotesFor.HtmlToOpenXml).
Is this going to work? Is there any way to integrate either Google Docs or Office 365 to my website, allowing user to edit their content right there? If not, is it possible to programmatically create a document, send it to Google Docs/Office 365 have the user edit it there and then get the document back to save locally again?
Box and Dropbox have done it:
https://blogs.dropbox.com/dropbox/2015/04/dropbox-and-office-online/
https://www.box.com/blog/introducing-box-for-office-online/
Thanks!
The only thing i've been working with is Office365, so my answer is based on that, but i think you would be able to do the same in Google Apps.
Right now it's not possible to embed a document from Office365 in your own website for editing, only for viewing, but i guess this might change at some point.
But what you could do is to create a document, upload it do OneDrive, get a link to that file and make a button to open it in Office Online, after the edit is done, then the file would be on the users OneDrive.
If you would like to get the file to your system, it's just a matter of getting access to the users OneDrive.
Most of the operations can be achieved with the Graph API, http://graph.microsoft.io/, and all of it can be done without the user having to do anything. You just need to get the right permissions for the app that gets acess to Office365.
Related
I created .net core web application and many files are uploaded to this application
My question is how I can allow users to click on the word document and choose edit in word
then open this file in word and do the required updating then after saving it
reflect these changes to the online document.
I found paid tools like
syncfusion do this but i was wondering if there is any solution without using 3rd party
You could use Microsoft Graph to upload to files to OneDrive, and let users edit/save them there. You can then get the updated document by using the Microsoft Graph API again.
Links that can help you along:
MS Graph OneDrive overview:
https://learn.microsoft.com/en-us/graph/onedrive-concept-overview
MS Graph OneDrive API:
https://learn.microsoft.com/en-us/graph/api/resources/onedrive?view=graph-rest-1.0
The scenario I'm trying to solve for is this: as a User who wants an organization's events on my Outlook/Office365 calendar, I want to be able to download and important a calendar from a link without first having it download and then me have to search for the file to import to my calendar. I want the process to be (mostly) automatic. I want the process to be similar to how I can do in Google Calendar, or in Yahoo Calendar.
This answer gives a link for programmatically adding a feed to Google calendar, which works! Now I need a similar url for Office365 (another answer gave me one for Yahoo). I have searched everywhere, but almost all the answers I've found don't answer this question; rather, they simply say how to add individual events, not feeds. Or they tell the user how to manually subscribe. In my case, I have the feed all ready to go (it's an .ics file), I just need to give the user a clickable link so the process of adding it can happen automatically, with the usual sign in/permissions that Office 365/Outlook requires.
So what is the URL for Office 365 that I can use to create a link to my ical/ICS feed like with the other two services?
EDIT: To clarify - I have the calendar already in an .ics file, and then when the user clicks the link, their Office365 should open and ask if they want to import the calendar, the way gmail does. How do I make that happen?
And the half answer is the webcal protocol. Webcal mostly does what I want. I have to change the URL to include the different protocol and voila! I get prompted on Windows about what I want to do with the link. The same thing happens on Mac.
The link looks like this - webcal://myhost.com/myical.ics. Unfortunately, it doesn't connect to Office365 as I've seen other services do, but when I attempt to view their code, it's obscured or otherwise unavailable. But this gets me much closer to where I need to be.
Re So what is the URL for Office 365 that I can use to create a link to my ical/ICS feed like with the other two services?
There is no such URL. There are instructions for an Office365 user on how to import or subscribe a calendar. https://support.microsoft.com/en-us/office/import-or-subscribe-to-a-calendar-in-outlook-on-the-web-503ffaf6-7b86-44fe-8dd6-8099d95f38df
If you intend that the calendar will be updated, then leading your users to subscribe to a URL that you update is a better way to go about it.
Imports are really only good for one off calendars that do not change.
Note that Webcal is an Apple unofficial identifier for .ics and is not the answer for cross platform, although many applications will cope with it.
How a calendar file (ics url) gets treated depends on how it is accessed and how the individuals default application settings has been setup. My browser settings for example are set to open .ics files in Notepad++ because I test/work with calendars. Most will have it open their calendar application. Then it also depends on the application.
So i am starting to learn the Office 365 API's, i have some experience with C# and ASP.net. But now i was wondering is there a way to make website which allows me to edit documents with Word Online and then download them to my server for example.
I know that i can download user files using the Office File API's, but is there a way to integrate the Word Online editor? The base idea is to create a very simple website which will allow me to create/edit files form the backend (admin interface) using the word online editor and then have these files available for download on the frontend.
The question is not about creating something practical so i don't want to use a alternative editor like ckeditor, mostly i want to see if it's possible and if so how can i do it.
I have a strange requirement from my client. They want to have some hyperlinks witin the documents of any MS office applications like MS word, excel, powerpoint etc. If any sentence is hyperlinked with some value, can i get an event of that hyperlink in my asp.net C# code.? I have stuided INTEROP dll of .net. I know that a new excel workbook can be created or a word document can be created but can i get an event of the hyperlink that lies within the document.?
please help
Couple of things you could do here.
You could make all the hyperlinks point to a specific web page that does what you need to do.
Or, you could register your own protocol. Instead of http you could register myProtocol protocol and make all the links in the docs myProtocol://my.custom.protocol. Having your application registered to handle that protocol.
register as the default web browser. This would allow you to handle all the links without changing the current documents.
Each has its own problems obviously. A web page isnt local so it doesnt have all the ability that a local app has, a custom protocol isnt very user friendly, and hijacking the default web browser could make your users upset.
This idea should be rethought, but there are a few options.
Could anyone point me in the right direction when it comes to handling Word documents (.docx) on the server using asp.net.
I know I can write to and read the .docx document using the API provided.
But I would like to implement this like SharePoint does it. The user browses the web site, he is logged in, then chooses to make a new Word document in a folder, then the Word document downloads and opens locally. Then I would like the user to be able to save the document back to the server.
Alternatively, is there any good components for reading/writing Word documents in the browser. I have tried using the Telerik editor component without any luck.
First: About Sharepoint & Word: Sharepoint is using a protocol called WebDAV to provide this.
Afaik is WebDAV a standard protocol included with IIS (Install Windows Components). Windows can talk with WebDAV like it's some mounted drive, and therefore Word can handle .doc files that are served from there. To communicate with the WebDAV instance from ASP.NET you can use http://www.independentsoft.de/webdav/index.html.
I guess redirecting the user to the Word doc on the WebDAV server should get it working for the user, but I'm not sure about that. Never actually implemented a WebDAV solution.
Good editor: If you have a small set of users, you should have a look at xstandard, I found that by far the coolest rich text editor available. Yet it works with Java/ActiveX, so your users should install the component at first, but it supports image drag-drop etc. I have never seen a native in-browser editor that gives me a good experience (Telerik came closest 2 years ago).
You can integrate with the Zoho writer api http://writer.zoho.com/home?serviceurl=/index.do