简体   繁体   English

尝试订阅Yahoo Calendar中的日历源时出错500

[英]Error 500 when trying to subscribe to ical calendar feed in Yahoo Calendar

I am trying to subscribe to an ical feed through Yahoo Calendar using a URL in the following format: https://calendar.yahoo.com/subscribe?ics={__ICS_FEED_URL__}&name={__NAME__} . 我正在尝试使用以下格式的URL订阅Yahoo日历中的一个提要: https://calendar.yahoo.com/subscribe?ics={__ICS_FEED_URL__}&name={__NAME__}https://calendar.yahoo.com/subscribe?ics={__ICS_FEED_URL__}&name={__NAME__} After accessing that URL, Yahoo presents me with a dialog box pre-populated with the URL to the feed and the name. 访问该URL后,Yahoo向我提供了一个预先填充了Feed的URL和名称的对话框。 After hitting "OK" a dialog box follows soon after with a 500 error. 点击“确定”后,很快就会出现一个500错误的对话框。

Digging around in Chrome Console reveals the following message in the Chrome Console from the call used by Yahoo to subscribe to the calendar: {"calendarError":{"lang":"en-US","description":"Failed to create new folder","detail":"Not Applicable","code":0}} . 通过Chrome控制台进行挖掘,可以通过Yahoo用于订阅日历的调用在Chrome控制台中显示以下消息: {"calendarError":{"lang":"en-US","description":"Failed to create new folder","detail":"Not Applicable","code":0}}

Example ical feed 示例饵料

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Lanzar Group//SendCalendar//EN
NAME:Sample: Walking Tours
X-WR-CALNAME:Sample: Walking Tours
BEGIN:VEVENT
UID:MKq2333pN8zH6RCeC@sendcalendar.com
SEQUENCE:0
DTSTAMP:20160829T062543Z
DTSTART:20160901T100000Z
DTEND:20160901T120000Z
SUMMARY:Sample Event: Visiting the Eiffel Tower
LOCATION:Champ de Mars\, 5 Avenue Anatole France\, 75007 Paris\, France
DESCRIPTION:The Eiffel Tower is one of the most recognizable buildings in the world\, so of course it is an important part of any trip to Paris. Since its completion over 100 years ago\, it has become a symbol of Paris. Although it is no longer the tallest building in the world\, a title it held for 41 years. it still dominates the skyline of the City of Lights. It’s also very popular\, here are some tips for making your visit go smoothly.
ORGANIZER;CN="John Doe":mailto:john.doe@example.com
END:VEVENT
END:VCALENDAR

Example HTTP response headers for the above feed 上述Feed的HTTP响应标头示例

Server: nginx/1.11.3
Date: Mon, 29 Aug 2016 06:28:06 GMT
Content-Type: text/calendar; charset=utf-8
Connection: keep-alive
Cache-Control: no-store
Pragma: no-cache
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
Content-Disposition: attachment; filename=sample-walking-tours.ics
Vary: Accept-Encoding
Strict-Transport-Security: max-age=31536000

URL to reproduce the problem 用于重现问题的URL

https://calendar.yahoo.com/subscribe?ics=https://staging.sendcalendar.com/api/calendar/NZQdHTbmX88cFsm8K/icalfeed&name=Sample:%20Walking%20Tours https://calendar.yahoo.com/subscribe?ics=https://staging.sendcalendar.com/api/calendar/NZQdHTbmX88cFsm8K/icalfeed&name=Sample:%20Walking%20Tours

What is the cause of this problem? 这个问题的原因是什么? More importantly, what do I need to change to solve it? 更重要的是,我需要改变什么来解决它? I have found no documentation online, and have not seen any similar reports of this issue. 我没有在网上找到任何文档,也没有看到任何关于此问题的类似报告。

Since we don't have any answers solving this problem I will post my own strategy for solving this, as we have nothing else to go on at this point (taken from my comment above) 由于我们没有解决这个问题的任何答案,我将发布我自己的解决方案,因为我们现在没有别的事情可以继续(取自上面的评论)

AddEvent.com is providing a service that lets users subscribe to arbitrary calendars using Yahoo Calendar, and thus have already solved this problem. AddEvent.com提供的服务允许用户使用Yahoo Calendar订阅任意日历,因此已经解决了这个问题。 By making sure that ... 确保......

  • We use the same transfer protocol as AddEvent (HTTP vs HTTPS), 我们使用与AddEvent相同的传输协议(HTTP与HTTPS),
  • We respond using the same, or similar, HTTP headers as AddEvent, 我们使用与AddEvent相同或类似的HTTP标头进行响应,
  • We have the same set of fields in our ICS payload as AddEvent 我们的ICS有效负载中的字段集与AddEvent相同

... we should be able to solve this problem for ourselves. ......我们应该能够为自己解决这个问题。 I will edit this answer again once we have done so to report my findings. 一旦我们这样做,我将再次编辑这个答案来报告我的发现。

Based on new knowledge: 基于新知识:

The OP wants to subscribe to an external calendar feed into his Yahoo calendar. OP想要在他的雅虎日历中订阅外部日历订阅源。

I confirmed this method and was able to subscribe. 我确认了这种方法并且能够订阅。 Using the full address and not replacing the https resulted in the exact error you mentioned in your OP. 使用完整地址而不是替换https会导致您在OP中提到的确切错误。

  1. Go to you Yahoo calendar 转到你的雅虎日历
  2. In the left frame, hover over Others , click on the gear icon that comes up. 在左侧框架中,将鼠标悬停在其他框架上, 单击出现的齿轮图标
  3. Select Follow other Calendars 选择关注其他日历
  4. Enter link 输入链接

In this case your link should have looked like this, instead of using the https protocol. 在这种情况下,您的链接应该看起来像这样,而不是使用https协议。

webcal://staging.sendcalendar.com/api/calendar/NZQdHTbmX88cFsm8K/icalfeed

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM