結論
バックエンド側のレスポンスヘッダーに以下を設定すればOK!
正しいヘッダー
"Access-Control-Allow-Origin": "https://*.officescripts.microsoftusercontent.com"
Web版のExcelを使っている場合は、ブラウザで開いているURLと同じオリジン↓に設定したくなりますが、これでは動きません。
誤ったヘッダー
"Access-Control-Allow-Origin": "https://*.sharepoint.com/"
どうやら<iframe>
タグで別のオリジンのHTMLが多重に呼ばれており、最深部がofficescripts.microsoftusercontent.com
になっているようです。
感想
Google Apps Script(GAS)とかなり似ているOfficeスクリプトですが、GASはサーバーサイド、Officeスクリプトはクライアントサイドで動いているようで、GASで動いているロジックをOfficeスクリプトに移植とかは、それなりにハマる部分が多いかもしれません。
公式ドキュメントでもCORSまわりの解説は見つからなかったし、まだまだ発展途上でユーザー人口も少なそうですねぇ。けっこう便利なので、もっと普及してほしいです。
ではまた!