Right-Click to Calendarですが、
以前からEdgeに対応してほしい系の問い合わせを受けていて、Twitterでも同じような要望を見かけたので実装をしていました。
Edge(というかChromium)は使用できない拡張機能のAPIがあるため、サポートされているAPIやライブラリで処理を置き換える必要があります。
サポートされている api for Microsoft Edge拡張機能 - Microsoft Edge Development | Microsoft Docs
Right Click to CalendarではGoogle Calendar API用のトークン取得にchrome.identity.getAuthToken
を使用しているため、Edge (Chromium)だと予定が登録できません。
ということで、その部分をchrome.identity.launchWebAuthFlow
で置き換えることにしました。トークンをどこにキャッシュするかでまだ悩んでいるのですが、その部分以外は実装してEdgeからも問題なく動作しました。
詰んだ箇所
chrome.identity.launchWebAuthFlow
を使用する場合、リダイレクト先のURLとしてhttps://<app-id>.chromiumapp.org/
が指定できます。
chrome.identity - Chrome Developers
これによりサービスプロバイダ側の承認画面からChrome拡張のオプション画面に戻ってこれるのですが、プロバイダがGoogleの場合、本番用のアプリではGoogle Cloud Platformのダッシュボードからリダイレクト先のURLを登録する必要があります。
登録画面の説明にある通り、追加するドメインはSearch Consoleから所有権が確認されるため、自分が所持していないドメインは登録できません。OAuth同意画面のガイドにも同じことが書いてありますね…。
OAuth クライアント タイプが含まれるプロジェクトでは、リダイレクト URI に関連付けられているドメインと、そのウェブ クライアントにより使用される承認済みの JavaScript 生成元を確認する必要があります。
ドメインの所有権は、プロジェクトに関連付けられている 1 つ以上の Google アカウントの Google Search Console を通じて確認されます。
ということで、実装はできたけど提供できずに詰んでいます。いやほんとこれどうすればいいんだろう…。