First off, I love the iCal support; having my TV schedule syncable to my phone is pretty awesome. Unfortunately, it appears to require username/password authentication to access, which makes syncing it with other web services difficult. I could work around this by removing the username/password on nzbdrone, but then my whole nzbdrone install is accessible by anyone over the internet. An alternate work-around, which I’m using now, is to have a local script pulling the ical file using creds and stashing it somewhere else so I can serve it without authentication, but it’d be better if there was a way to just directly access the calendar feed URL without any authentication.
Can you use: http://username:password@localhost:8989/feed/calendar/NzbDrone.ics to auto inject the password?
Replace username, password and localhost with your relevant values. No plans to exclude authentication for certain things at this time.
Unfortunately, outlook.com (where I’m trying to sync to) doesn’t seem to support that (gives me an error message about private calendars).
Ahh, figures, doesn’t work in IE either.
Will have to give this some thought, but not likely something we will consider adding.
Could there maybe be an API call (using API key) for the same ICS file? That way at least there’s some level of authentication, and it wouldn’t be any less secure than other API calls.
You would still need to be able to pass the API key header, doubt that Outlook.com would let you do that.
Is that api key not part of the URL? I guess I assumed the API key would be a URL parameter, not an http header, since that’s how other apps like sabnzbd do it.
For our implementation it was easier as a header instead of a URL parameter, also means its not exposed (as easily) if someone was interested in finding it.
Looks like google calendar also doesn’t support user:pass@URL, so that’s no good either. In any case, I managed to cobble together a solution using my already existing IIS reverse proxy. For those keeping score at home, I adapted a solution from here: http://stackoverflow.com/questions/9488915/iis-rewrite-rule-for-basic-auth-on-the-querystring. I’d imagine an apache reverse proxy could do something equivalent. Still, it would be nicer if this was easier.
Old thread i know, but also looking for this solution, having my gmail subscribe to this then my phone connects the gmail for the calendar. Keeps it all in one place.
I am also interested in importing iCal to Google Calendar.
I didn’t find this feature till today…
Just pushed a change to develop that will allow you to use the API Key in a query string to authenticate: https://github.com/NzbDrone/NzbDrone/wiki/API
I’ve been using this for a little while now, and have noticed another issue: Outlook.com isn’t picking up changes after the initial sync. I suspect (but cannot confirm yet) that this is because the cache-control is set to 365 days. I just overrode this on my reverse proxy (to 30 minutes) to see if that fixes it. I’ll report back in a week or so with results (maybe sooner if I notice new entries showing up).
How are we supposed to use this now? can someone give an example I basically need to throw the calendar into a google calendar but since there is a user/pass on nzbdrone it wont fetch. Pls help
Ok, so far I’ve determined that the reason outlook.com isn’t updating is because it’s sending an If-Modified-Since header, and getting a 304 (unmodified) back. Modifying my reverse proxy to remove that directive makes everything update correctly. Also of note is that NzbDrone is returning a Last-Modified time of Tue, 22 Apr 2014 01:17:27 GMT, which definitely isn’t correct, and is probably the source of the issue. Markus, any idea what’s up with that Last-Modified header? It only shows up on the ics file, not on other NzbDrone responses.
@EternalMaelstrom I’ll have to look into it further, but that lines up with the last release of master, so I think thats probably it. Added to Trello: https://trello.com/c/CMGOgIIf/672-ical-last-modified-time-doesn-t-change
Good news! As of the last update (~ an hour ago) the api key works and last-modified is being sent correctly (set to the current time). I don’t know why the last-modified is suddenly fixed, but I won’t complain.
@EternalMaelstrom is that because the release just came out or its properly doing it now? Just want to make sure, because I didn’t do anything with it.
Ah, I think I may have been looking at the Date header. The Last-Modified is still busted. It’s currently set to “Wed, 07 May 2014 00:05:02 GMT”, which matches to the second the last modified time of nzbdrone.exe.
How do you format the URL when you’re using the API key? I had a calendar feed working in Mac Calendar, but suddenly it’s not taking my user/pass. I’d thought I’d try using the API feed, but wasn’t sure how to set it up. I looked at the wiki, and tried http://host/api/rest of feed url