プライベートカレンダーイベントの認証済みICSフィード

公開ICSエクスポートは、最近、

GET /discourse-post-event/events.ics

によって再導入されました。これは、

Re-Add full ICS export

での作業に続く素晴らしい改善です。

現時点では、このエンドポイントは匿名ユーザーに表示されるイベントに限定されているようです。その結果、プライベートカテゴリやデフォルトの everyone グループから制限されているカテゴリのイベントは、外部カレンダークライアント(例:Googleカレンダー、Outlook)で購読することができません。

DiscourseがプライベートなRSS/Atomフィードを処理する方法(例えば、ユーザーごとのトークンや読み取り専用APIキーを介した方法)と同様に、このエンドポイントへの認証済みアクセスをサポートすることは可能でしょうか?

これは、以前提案された公開ICSフィードの再導入に続く、分離された範囲を限定したリクエストとして提起するものです。許可されるのは、ユーザーがすでに表示を許可されているイベントにカレンダークライアントがアクセスできるようにすることだけであり、権限ルールを変更するものではありません。

「いいね!」 1

誰かが不思議に思う場合に備えて:URLに?api_key=...を追加したところ、すぐに動作することを発見しました。APIユーザーがアクセスできるイベントが表示されます。 混乱させて申し訳ありません、動作していません。セッションクッキーを使用していました。

「いいね!」 1

コードを精査した結果、ユーザーAPIキーの作成とAPIへの受け渡しに必要な様々な障害を処理する非常にシンプルなプロキシをコーディングし、さらにユーザーがカレンダーアプリに貼り付ける必要があるリンクも生成しました。

これがいつかDiscourseのコードに組み込まれ、不要になることを願っています。それまでの間、他の人の生活を楽にするために、これを共有します。