2012-10-10 94 views
7

有人碰巧知道Google日曆在訂閱以安全的https地址提供的iCalendar訂閱源時是否遇到問題?Google日曆無法通過https訂閱icalendar Feed?

我開發上具有的iCalendar飼料用戶可以訂閱一個HTTPS的地址上運行一個網站。 Feed在Outlook和iCal中運行良好,但在Google日曆中無法運行。當用戶嘗試訂閱供稿時,他們會收到錯誤消息「無法取得URL」

我懷疑其中有什麼問題飼料或生成的iCalendar數據,所以我跑了通過一些驗證器生成的文件的.ics,他們都很好。爲了排除Feed本身的錯誤,我將生成的.ics文件放在服務器上,以查看靜態文件是否可用,並且在Google日曆中也失敗了。然後我把文件放在一個完全不同的服務器後面的一個非安全(http)網址,並且工作!

所以我開始懷疑httpS是問題所在。服務器的證書是有效的,所以不應該造成任何麻煩。此外,驗證器可以很好地訪問feed(和靜態文件)。

這個谷歌組的討論表明,其他人有類似的疑慮:http://productforums.google.com/forum/#!topic/calendar/61-eUd-fyrg

問題是,該網站已經通過HTTPS運行,所以我不能只是切換到http使飼料工作。

因此,如果任何人有任何信息確認或contradicing我的理論,或大約還有什麼可能會導致這些問題的任何想法,我將不勝感激。

+0

outlook.office365.com是否存在兼容性問題?我似乎在每次輸入以.ics結尾的Outlook地址時都會收到Google發送的「無法獲取網址」錯誤。 – Sun

回答

7

谷歌已經證實,這確實是HTTPS的問題,即谷歌日曆是不能同意的iCalendar從外部加密(HTTPS)的URL飼料。

我的僱主與谷歌的企業帳戶,我們提交給美國谷歌的企業支持支持請求,例如用飼料和我們自己的問題DAPI檢測。

今天,我們終於得到了一個正確的答案,確認了我們的初步分析,並通知我們正確的技術團隊已經得到通知,並且已經打開了一個內部功能請求(用於支持來自https-urls的提要)。

我們並沒有給出修復時間表所有,但我要求他們回到美國時,問題已得到解決。一旦我收到它,我會將這些信息添加到這個答案中。

+0

現在看起來可行。 http://stackoverflow.com/a/15560780/137067 – philfreo

+0

無法使其與HTTP協同工作。我可以使用URL下載.ics文件,但Google無法導入它。 – Merkidemis

0

如果服務器有一個robots.txt阻止谷歌,這也是我的谷歌日曆失敗的原因。那麼,你有沒有試過看看你的https服務器的robots.txt?

這就是說,不是谷歌日曆+ https的限制,因爲谷歌日曆提供了https的「私人地址」爲.ics文件,它也可以接受來自google.com的https(雖然這只是一個配置其他許多可能的)。

8

我可以確認(今日)Google日曆可以成功訂閱訂閱HTTPS iCal訂閱源。> HTTP - https://events.stanford.edu/byCategory/2/eventlist.ics

要格外肯定我也沒有給它未工作的HTTPS URL另外一個測試,如果你更換的https:

您可以通過添加此URL測試這個自己。這也很好,所以在任何情況下,HTTPS都應該有效。

什麼確實在我的測試中沒有工作:

  • HTTP認證(https://myusername:[email protected]/) - 我有「不能獲取URL」 - 但是這不是什麼這個問題是問。
  • 超過256個字符的任何URL。但是,使用鏈接縮短器(例如,goo.gl)可以解決此問題。
+2

使用URL縮短器爲我修復了這個問題 –

+0

這可能在過去有效,但是目前Google日曆實際上似乎通過HTTP加載內容,即使URL是HTTPS。所以如果你仍然有一個「純粹」https網址的例子,我會很好奇的看到它。 – Chopmo

+0

@Chopmo它肯定仍然有效。我們的產品(Close.io)僅通過HTTPS加載,並通過iCal供稿同步仍然有效。 – philfreo

0

我已經有很多的困難,這一點:

這是令人沮喪,因爲下載的文件將在谷歌日曆或iCal中打開,但它不會加載在任何飼料。當我通過URL進行添加時,我會在Google日曆中看到這些錯誤:「無法導入日曆」(sitename)或「無法獲取URL」。

這是我必須做的:

有無持續時間或結束時間的事件,而不是兩個。

我也必須從標題中刪除它: content-disposition:attachment;文件名= Schedule.ics;

另外,要檢查它是否有效,請使用Google ical驗證器。

1

我們在我們的案例中發現的問題是,Google日曆目前忽略了URL中的HTTPS指示,而是通過HTTP訪問。如果您的HTTP請求重定向到HTTPS或僅通過HTTP提供內容,那麼它將起作用。如果你的防火牆阻止了端口80,那麼事情就會掛起,遊戲結束。

TL; DR:如果您的網址與http協同工作,那麼它將在您將其輸入爲https時與Google日曆配合使用。 (假設robots.txt不限制訪問。)否則,它會失敗。

+0

這是肯定的。 – stopfstedt