Movable Type の Data API で、公式の JavaScript SDK を使ってテンプレートを再構築するときにハマりました。
例えば、サイトIDが 1
で、テンプレートIDが 36
のコンテンツタイプアーカイブを再構築するとします。
まずは、Data API インスタンスを作成して publishTemplate
メソッドを利用するのだと思います。この辺りは細かいドキュメントが無いので手探りです。
var api = new MT.DataAPI({
baseUrl: 'Path to mt-data-api.cgi',
clientId: 'test'
});
api.publishTemplate(1, 36, function (response) {
console.warn(response);
});
しかしこのコードだと500エラーでした。500エラーが出ないようにするには、下記のようにして第三引数に {data: JSON.stringify({})}
をつける必要がありました。
api.publishTemplate(1, 36, {data: JSON.stringify({})}, function (response) {
console.warn(response);
});
これ、なかなか気づかないですよね(笑
ちなみに、MTAppjQuery を使って、管理画面での DataAPI の利用
の設定が 有効
になっている場合は下記のコードを user.js に書けばOKです(new MT.DataAPI
は不要)。
mtappVars.DataAPI.publishTemplate(1, 36, {data: JSON.stringify({})}, function (response) {
console.warn(response);
});
今回は BUN さんに、jQuery の Ajax を使ったコードを見せてもらって、それを手がかりに解決しました。いつもありがとうございます!