function getContentForAPI(path)
{
var result = {};
result.url = "https://" + HOST + "/rest/api/2/" + path;
result.response = UrlFetchApp.fetch(result.url, API_HEADERS);
result.text = result.response.getContentText();
try { result.data = JSON.parse(result.text); } catch(error) {}
return result;
}
次のようなカスタム式があります。
/**
* Import data.
*
* @param {string} the ID that belongs to the issue.
* @return The summary.
* @customfunction
*/
function IMPORTDATA(issueID)
{
var details = [];
if (issueID instanceof Array) {
var issueIDs = issueID;
for (i in issueIDs){
for (j in issueIDs[i]){
issueID = issueIDs[i][j];
var content = getContentForAPI("issue/"+issueID);
if (content == undefined || content.data == undefined) {
details.push(["G","H"]);
} else {
details.push(["E", "F"]);
}
}
}
} else {
var content = getContentForAPI("issue/"+issueID);
if (content.data != undefined) {
details.push([content.data.fields.project.name, content.data.fields.summary]);
}
}
return details;
}
これは単一の数式で機能=IMPORTDATA(A2)
しますが、ArrayFormula 内に配置=ARRAYFORMULA(IMPORTDATA(A2:A))
すると結果は #ERROR になりますが、UrlFetchApp.fetch() をコメントアウトすると機能するため、そのメソッドからエラーが発生しているようです。誰かが理由を知っていますか?