cancel
Showing results for 
Search instead for 
Did you mean: 

Zoom Apps SDK: ZoomAppsSDK is not defined and times out, even though sdk.min.js loads with status 20

tatsu9969
Newcomer
Newcomer

【概要】
Firebase HostingでホストしているZoomアプリを開発しています。
Zoomクライアント内でアプリを実行すると、sdk.min.jsの読み込み(ステータス 200)は成功するにもかかわらず、グローバルオブジェクトである ZoomAppsSDK が定義されず、最終的に自作のタイムアウト処理によって「SDKの読み込みに失敗した」と判断されてしまいます。この原因が分からず困っています。

【発生している問題】
アプリがDOMContentLoadedイベントの発火後、ZoomAppsSDKオブジェクトが定義されるのを待機しますが、30秒待っても定義されません。開発者ツールで確認すると、sdk.min.jsはStatus 200で正常に読み込まれています。しかし、ZoomAppsSDKがundefinedのままであるため、後続のzoomSdk.config()などを呼び出すことができず、処理が全く進みません。

【開発環境】
・フロントエンド: HTML, CSS, JavaScript (Firebase Hostingでホスティング)
・SDK: https://appssdk.zoom.us/sdk.min.js をCDN経由で読み込み
・バックエンド: Google Apps Script (GAS)
・その他: clasp

【試したこと・確認済みのこと】
これまでに以下の点を確認し、いずれも問題の解決には至りませんでした。

実行環境: アプリはZoomデスクトップクライアント内から実行しており、navigator.userAgentに'Zoom'が含まれることをコードで確認済みです。

SDKスクリプトタグ: index.htmlの内にscriptタグが正しく配置されていることを確認済みです。

ネットワーク: 開発者ツールのNetworkタブで、sdk.min.jsがStatus 200で正常に読み込まれていることを確認済みです。(ブロックや404エラーではありません)

タイミング問題: DOMContentLoadedイベントを待ってから初期化処理を実行しており、レースコンディションの問題ではないことを確認済みです。

Zoomクライアントのバージョン: クライアントは最新版にアップデート済みです。

Content Security Policy (CSP): firebase.jsonに以下の内容のヘッダーを追加し、appssdk.zoom.usからのスクリプト実行を許可済みです。

[ここに、下の「firebase.jsonの内容」をコードブロックとして貼り付けてください]

開発者ツールの有効化: macOS/Windowsのデバッグモード有効化手順を試しましたが、アプリ上で右クリックしても「Inspect」メニューが表示されず、コンソールを直接確認できない状況です。

【質問】
以上の状況で、他にZoomAppsSDKが定義されない原因として何が考えられるでしょうか?
この環境の組み合わせ(Firebase Hosting + GAS + Zoom Apps SDK)で既知の問題はありますでしょうか?あるいは、私が見落としている別のデバッグ方法はありますでしょうか?

ご協力のほど、よろしくお願いいたします。

【firebase.jsonの内容】
JSON

{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"headers": [
{
"key": "Content-Security-Policy",
"value": "script-src 'self' https://appssdk.zoom.us 'unsafe-inline' 'unsafe-eval'; object-src 'self'"
}
]
}
}

0 REPLIES 0