アドレスとプロフィールを登録する(できない)

 誰が誰だかわかりやすくするために。

動作しない

 Google Apps Script(GAS)でGET/POSTし登録したかったが、CORSエラーに阻まれた。

エラーログ Access to fetch at 'https://script.google.com/macros/s/AKfycbwsoKbgKwuMUCsLXeVGifX2j5bDHyld3R7vfa78Qx3hTEhPtqq43ZgEdbg3UDUvRD4g8A/exec' from origin 'https://ytyaru.github.io' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

 このエラーをみて、fetchするときmodeno-corsにしてみた。するとHTTPステータスが0になって返ってきた。JSONも空っぽ。こんなステータス見たことない。stackoverflowによるとネットワークエラーということらしい。よくわからんが、失敗することはわかった。

GASは使えるっぽいのに

 GASでGETするURLをブラウザのURLに入力すれば、ちゃんとJSONが返ってくる。ローカルの端末でも成功する。

 なのにそれをこのページでfetchメソッドを使い実行するとCORSエラーになる。

CORSエラー?

 CORSエラーはセキュリティだと思われる。よく知らないが、たぶんGoogleサーバが、ここGitHubサーバからのリクエストを弾いているのだろう。私にはどうしようもないと思う。

 エラーログにあったAccess-Control-Allow-Originは、サーバ側の設定のはずで、私が編集することはできない。

 まさかGASのようにAPIを作れるサービスは、すべてCORSエラーになるのか? それではまるで使い物にならないと思うのだが……。ローカルでAPIを実行しろということなのか? そんなバカな。では、自分でサーバを立てろと? でもこれはGASを提供しているGoogleサーバの問題ではないのか? サーバ側の知識がゼロなのでまったくわからん。

登録ボタンイベントが発火しない

 なぜか登録ボタンイベントが発火せず、マストドンやミスキーボタンのイベントが発火している。意味不明。要素のidやListenerのイベント名は問題ないはずなのに。

 openなshadowDOMであるCustomElementがなにか悪さをしているのだろうか? どう対処すればいいか見当もつかない。

 よくみたらマストドンやミスキーボタンのイベントたち、そこらへんを適当にクリックしても発火してた。お前らは一体なんなんだ? 私は一体いつからまともに動いていると錯覚していた?

プロフィール
アドレス
名前
画像
URL
紹介
補足情報

プロフィールからの投げモナボタンについて

 少なくとも以下のうちいずれかひとつの条件を満たせば、投げモナボタンを表示する。

「mpurseのアドレスらしき文字列」とは最初にみつけた34字以上の連続した英数字である。(正規表現「/[a-zA-Z0-9]{34,}/g」)