何を実現したいのかを書きましょう
レコード一覧画面にて、コメント欄の最新投稿日時と投稿者を表示させたいです。
まったくコードに関して無知なので、簡潔に記述等できれば一番ですが…
発生した問題やエラーメッセージを具体的に書きましょう
コードを記述したことがないので、調べたりChatGPTにてコードを頂きましたがnullエラーが出ています。
Uncaught TypeError: Cannot read properties of null (reading ‘appendChild’)
実行したコードをコピー&ペーストしましょう
(function() {
"use strict";
// KintoneのAPIトークン
var apiToken = 'MyToken';
// DOMContentLoaded イベントリスナーを追加
document.addEventListener('DOMContentLoaded', function() {
// レコード一覧画面が表示された後に実行される処理
kintone.events.on('app.record.index.show', async function(event) {
// レコード一覧の行ごとに処理を行う
for (let record of event.records) {
// レコードのIDを取得
let recordId = record.$id.value;
// コメント情報を取得
let comments = await getRecordComments(recordId);
// 最新のコメントの更新日時を取得
let latestCommentDate = getLatestCommentDate(comments);
// 更新日時をレコード一覧に表示
if (latestCommentDate) {
let recordRow = kintone.app.record.getSpaceElement({space: 'record', record: record});
let commentDateDisplay = document.createElement('span');
commentDateDisplay.textContent = '最終コメント更新日時: ' + latestCommentDate.toLocaleString(); // 更新日時を適切な形式にフォーマット
commentDateDisplay.style.color = 'gray'; // 表示スタイルを適宜調整してください
recordRow.appendChild(commentDateDisplay);
}
}
});
});
// レコードのコメント情報を取得する関数
async function getRecordComments(recordId) {
return new Promise(function(resolve, reject) {
kintone.api('/k/v1/record/comments', 'GET', { app: kintone.app.getId(), record: recordId }, function(resp) {
resolve(resp.comments);
}, function(err) {
reject(err);
});
});
}
// 最新のコメントの更新日時を取得する関数
function getLatestCommentDate(comments) {
if (comments && comments.length > 0) {
let latestComment = comments[comments.length - 1];
return new Date(latestComment.createdTime);
}
return null;
}
})();