発動イベントをapp.record.edit.submit ⇒ app.record.create.submit へ変更したい

何を実現したいのかを書きましょう

先日、こちらで皆様にご相談させていただき(https://community.cybozu.dev/t/topic/9920/2)その際は自己解決することができました。
今回は、前回完成した下記のソースの発動イベントをapp.record.edit.submit ⇒ app.record.create.submit へ変更したくお力をお借りしたくよろしくお願いいたします。

発生した問題やエラーメッセージを具体的に書きましょう

ソースの発動イベントをapp.record.edit.submit ⇒ app.record.create.submit へ変更して、一行ずつデバッグを行うとエラーは発生しませんが、
const blob = await client_host.file.downloadFile({
の行でデバッグモードが強制終了してしまいます。
そのため別アプリから取得した添付ファイルを自アプリに保存できない状況が発生しております。

実行したコードをコピー&ペーストしましょう

(() => {

	kintone.events.on(["app.record.edit.submit"], async(event) => {
		const record = event.record;

		var record_id = 1;


		// kintone REST API Client の力を借りる 別アプリのレコード情報取得用
		const client_guest = new KintoneRestAPIClient();
		// kintone REST API Client の力を借りる 自アプリの添付ファイルアップロード用
		const client_host = new KintoneRestAPIClient();

		(async() => {
			try {
				const res = await client_guest.record.getRecord({
					app: "124",
					id: record_id
				});

				// 添付ファイルがない場合は更新処理はしない
				const files = res.record.会社ロゴ.value;
				if (files.length === 0) {
					alert("添付ファイルがありません")
					return;
				}

				const dl_fileKey = res.record.会社ロゴ.value[0].fileKey;
				alert(dl_fileKey);

				// 添付ファイルフィールドのダウンロードキーからblobを作成
				const blob = await client_host.file.downloadFile({
					fileKey: dl_fileKey, // ダウンロードファイルキー
				});

				// アップロードするファイルを作成
				const FILE = {
					name: res.record.会社ロゴ.value[0].name, // ファイル名
					data: blob,
				};

				// アップロードしてアップロードキーを取得する
				const ulFileKey = await client_host.file.uploadFile({
					file: FILE,
				});


				//自アプリの添付ファイルフィールドにアップロードキーを保存(更新)する
				const new_fileKey = ulFileKey.fileKey;
				const params = {
					app: kintone.app.getId(),
					id: kintone.app.record.getId(),
					record: {
						logo: {
							value: [{
								fileKey: new_fileKey
							}]
						}
					}
				};
				await kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT',
						params)
					.then((resp) => {
						// PUT成功
						alert('更新は成功しました。');
						return event;
					}).catch((error) => {
						// PUTエラー
						console.log(error);
						event.error = 'エラーが発生しました。';
						return event;
					});


			} catch (err) {
				console.log(err);
			}


		})();

		return event;

		 
	});
})();

こんにちわ。
お使いのコードで試してみました当方の環境では問題なく使用できました。
環境に依存する可能性もありますので今一度下記などを確認してみてください。

・デバッグモードが終了する際にエラーが出ていないか確認する。
・ほかに読み込んでいるスクリプトやプラグインがあれば一度外してみる
・別のブラウザによる動きを確認する。
・別PCによる動きを確認する。

検証していただきありがとうございます。
いただいたアドバイスを参考にデバッグ作業を再度試してみます。

なぜ私の環境で動かないのかはまだわかりませんが、コード自体に問題はなさそうということがわかりとても嬉しく、同時に、なぜ動かないのかと悔しい思いもあります。

お力添えに深く感謝申し上げます。
ありがとうございます。

「いいね!」 1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。