What is the Office365 calendar feed URL? - c#

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.

Related

How to access XML file on employee sharepoint portal?

Body
Hi guys. I'll be rather brief if I can so here goes.
I made this app in C# that goes onto my employee portal and automatically gets my shifts for me every 30 minutes my using a web browser control and then it reads the HTML data from that and generates a calendar for me and also provides automated alerts.
Issue
Problem is that this web browser uses IE (yeesh help me) and it doesn't work with all parts of the site. I have done some digging around on the site and I found where the ASP site gets the data from: An XML sheet somewhere on the server. I can access this XML sheet, but only if I'm logged in (please see the attached images for more information).
Current solution
So my question is this: How do I actually login to this area?
I could login using the webbrowser and then download the XML using that, but it's too slow and too old, so is there a way I can pass my credentials through?
The URL is like this "https://www.mycoles.com.au/api/rosters/nextweek" -- I don't see any thing like ?name=myname ?pass=mypassword... soo yea. (I'm a bit new).
Further details:
Application language: C#.
Current technology: Windows forms applications/ IE web browser control.
Site backend: Microsoft Sharepoint.
Anything I'm missing? Please ask..?
Attached content
Mycoles XML Logged in
Mycoles XML Access Denied
Update:
So after a while of searching and examining the site, I tried to access the data with a c# webbrowser and it didn't work. It said that it can't download the data, however chrome is able to. Odd. I'm not sure it is an XML file anymore, rather a request and I don't have enough knowledge to work with this, so pointers anyone? Check this site out https://www.mycoles.com.au/api/rosters/nextweek and tell me what you think it is please. Thanks in advance... :)
SharePoint supports different forms of authentication. Out of the box, Active Directory-based single sign-on is provided, and forms-based (username, password) authentication can be configured.
Typically, organizations use AD SSO for its simplicity. If, once you open your desktop browser and navigate to a SharePoint site, you don't have to enter any credentials and are just logged in, then it's most likely this case. This can be either Kerberos or NTLM. The HttpWebRequest class supports both these methods.

How to embed Google Docs or Office 365 editor?

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.

Get hyperlink click event of MS office applications

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.

How to register the client who opened an email / a newsletter in ASP.net

For my internship I'm currently working on a web-based newsletter sending application in ASP.Net (C#). This application registers the open-rate of the send newsletters.
I'm using the one by one transparent image method, explained in the following article: http://www.pinpointe.com/blog/how-email-open-and-click-tracking-works to register the open-rate.
The applicaton can register the amount of opens, and the date/time an email was opened. The only thing missing is the client (program) the email was opened with. This information can help the design team to code proper HTML for the newsletter, that is readable in the most common email clients.
To track the client withs opened the email i'm currently using the user agent requesting the one by one image form our server. This information is stored in our database as shown below:
Records 12 and 13 in this example holds an user agent "Microsoft Office Protocol Discovery". This user agent was registered when opening a newsletter in Microsoft Outlook.
Is there a way to get more specific information about a client? E.g. "Microsoft Outlook 2007" as the client.
Seems it's hard to find a solution to this, but here what I have found so far:
Mailchimp seems to be doing this ( http://blog.mailchimp.com/see-what-email-programs-your-subscribers-use-with-user-agent-stats/ ) so it appears to be possible.
It might be worth your while to look into the X-Mailer header - http://msdn.microsoft.com/en-us/library/ms819781.aspx - Not Sure if it's put in the Header of the HTTP request but this field seems to contain the information you are looking for (as seen here - http://office.microsoft.com/en-us/outlook-help/view-e-mail-message-headers-HA001230300.aspx ).
Other than that all I can recommend is to do a few practice rounds from the different clients and check their request (Headers) for any identifying information.
Hope that helps a bit.

Open/handle Word documents like SharePoint

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

Categories

Resources