フルICSエクスポートを再追加

こんにちは。

#231 で削除された動作があると嬉しいです。

具体的には、サイト上のすべてのイベントを取得するために、icalクライアントを events.ics または同等のものに向けることができることです。

さらに、download-calendar.js の置き換えから DESCRIPTIONURLORGANIZER フィールドが欠落しています。最初の 2 つは私にとってより重要です。

#169 を取り込んで「トピックごと」のイベントエクスポートを追加できるとさらに良いですが、それは追加機能です。

「いいね!」 10

カレンダーからイベントを購読できたら、とても嬉しいです。

/upcoming-events をミラーリングして、/upcoming-events.ics があれば嬉しいです。

しかし、単一のカテゴリ(あるいは単一のタグ?)で取得する方法があることも、おそらく素晴らしい追加機能になるでしょう。

カテゴリIDでフィルタリングするために、/upcoming-events.ics?category=12 のようなものはいかがでしょうか?

「いいね!」 2

トピックでフィルタリングされた完全なICSフィードに+1します。

これはプライバシーの問題で難しいことは承知しています。通常の方法では、ユーザーごとのフィードを表すランダムなハッシュフィードが生成されます。

「いいね!」 1

うーん、何…少なくとも、私たちが使っているカレンダーは公開URLですよね…

私もこの機能へのサポートを追加したいと思います。すでにこのトピックに投票しました。

サイト全体またはユーザーごとのICSエクスポートを復活させることは、私たちのコミュニティのワークフローにとって非常に価値のあるものになるでしょう。PR #231で削除されたものについて、再考のアップデートはありますか?

プライバシーや実装上の懸念がある場合は、プライベートなユーザーごとのICSフィードを解決策として検討できるかもしれません。

ご検討ありがとうございます!

プライバシーに関する懸念はないと思います。なぜなら、.jsonエンドポイントはすでに存在しており、これは単に異なるフォーマットだからです。

@cvx / @j.jaffeux は、イベントインデックスルートに.icsを復活させることについてどう思いますか(DEV: Remove old ics code by CvX · Pull Request #231 · discourse/discourse-calendar · GitHub で削除されました)? 簡単な成果のように思えます。

すでに以下を行っています。

DiscoursePostEvent::EventFinder.search(current_user, filtered_events_params)

そして、これと.jsonが大きくなりすぎないように、MAX_RESULTS(最新順)を設定できます。

「いいね!」 2

GET /discourse-post-event/events.ics を介した ICS エクスポート機能 (DEV: add ical format response for discourse-post-events index route by tyb-talks · Pull Request #35143 · discourse/discourse · GitHub より) を再度追加しました。このエンドポイントには 200 件のイベントというハードリミットがあることに注意してください。サイトにそれ以上のイベントがあり、完全なエクスポートを行いたい場合は、日付文字列を受け入れる before および after クエリ パラメータを使用して反復処理できます。このエンドポイントで受け入れ可能なパラメータの全リストは、追って API ドキュメントに追加する予定です。

「いいね!」 6

PR #35143 のマージありがとうございます — .ics エクスポートが公式に戻ってきたのは素晴らしいことです。

確認したいのですが、Discourse がプライベート RSS/Atom フィード (/topics/feed.rss?token=…) を処理する方法と同様に、ユーザー トークンまたは API キーでこのフィードを認証する可能性(または将来の計画)はありますか?

現在、/discourse-post-event/events.ics は公開イベントにのみ機能するため、Outlook/Google カレンダーはプライベート カテゴリを購読できません。

軽量なトークンベースのアプローチ(ユーザーごとまたはサイトごと、読み取り専用)でも、外部スクリプトを介してフィードをプロキシすることなく、プライベート イベントをカレンダー クライアントで安全に公開することが可能になります。

これは追加できるものですか、それとも見逃した既存のパラメーターで既に可能ですか?

これは別の機能リクエストのように思えます。APIキーで技術的に可能だと思いますので、質問は、これをどのように簡単に実装するかということだと思います。

これをクローズし、この件については新しい項目を開いてください。