0

Google Apps Script (サーバー側の Google ドキュメントの自動化) で Jsonix を使用するにはどうすればよいですか? できない場合、GAS で使用して XSD から Javascript マッピングを生成し、JS オブジェクトを XML にシリアル化して REST API に送信し、応答を逆シリアル化して JS オブジェクトに戻すことができる Jsonix の代替手段は何ですか?

Jsonix を使用して、XSD ファイルから JSON マッピングへの REST API をコンパイルしました。コマンドライン Node.js で OK をテストしました。これは、インライン JSON から JS オブジェクトを作成し、それを Jsonix.Context の下でマーシャリングして REST API に送信し、応答をアンマーシャリングします。

次に、スクリプトを使用して Google Apps Script プロジェクトを作成しました。Jsonix.js スクリプト (Jsonix.gs として) を使用して別の GAS プロジェクトを作成し、次にマッピング スクリプト (API.gs として) を使用して別の GAS プロジェクトを作成しました。Jsonix および API ライブラリのプロジェクト キーを使用して、メイン スクリプトのプロジェクト リソースを構成しました。スクリプトを実行できます (ライブラリ リソースが使用されていることを確認します) が、呼び出されると失敗しますJsonix.createDocument()_jsonix_factory = function(_jsonix_xmldom, _jsonix_xmlhttprequest, _jsonix_fs)Jsonix ライブラリ スクリプトの先頭に、logsというLogger.log("_jsonix_xmldom: " + _jsonix_xmldom) 行を挿入しました。これが、ドキュメントを返す代わりにエラーをスローする_jsonix_xmldom: undefined理由です。Jsonix.createDocument()

Jsonix がデフォルトで期待する _jsonix_xmldom の代わりに、Google Apps Script サービス XmlService、または GAS 環境の他のサービスを使用できますか? または、機能的に同等のライブラリをライブラリ リソースとして含めることはできますか? または、その機能を GAS の Jsonix に提供しますか?

Jsonixが定義されていない_jsonix_xmlhttprequestとの_jsonix_fs値を使用しようとすると、同様のエラーが発生することが予想されます。Jsonix.js (.gs) ソース コード // REWORK // Node.js で、createDocument()宣言と他の場所に 2 行が表示されます。おそらく、私が報告しているこのケースは活発に開発されているのでしょうか?

あなたの洞察に感謝します。

4

3 に答える 3

0

Jsonix、その XMLDOM 依存関係、および API の XSD ファイルから Jsonix で生成した API マッピング JS (GAS) のために、新しい Google Apps Script プロジェクトを作成することになりました。GAS Jsonix プロジェクトをライブラリ リソースとして XMLDOM プロジェクトに依存させました。次に、ライブラリ リソースとして Jsonix GAS プロジェクトと API GAS プロジェクトに依存するメイン スクリプト用の GAS プロジェクトを作成しました。できます。

十分にテストされた既存の XMLDOM プロジェクトを適切な FOSS ライセンスで使用し、GAS API の要件に合わせて微調整しました。

GAS XmlService を使用して、その API をラップして、関連するメンバーを DOMImplementation、DOMParser、および XMLSerializer として提示しようとしましたが、XmlService API は XMLDOM API と非常に矛盾しています。標準 DOM 実装に対応する XmlService API のメンバーは、標準 API とはまったく一貫性のない構造になっています。

于 2018-08-23T19:07:37.903 に答える