Я пытаюсь получить указанные c значения из HTTP-ответа от интерактивного компонента Slack и разместить их в указанных c ячейках в Google Sheet.
Я думаю, что мне здесь не хватает чего-то фундаментального, потому что, когда я пытаюсь запустить это как задумано, ничего не происходит.
Фактическая строка JSON выглядит следующим образом: (Я отформатировал это в Интернете, чтобы было легче просматривать, и заменил конфиденциальные данные на x)
{
"parameter": {
"payload": {
"type": "message_action",
"token": "xxxxxx",
"action_ts": "1579669130.303488",
"team": {
"id": "xxxx",
"domain": "xxxxxx"
},
"user": {
"id": "xxxxxx",
"name": "xxxxx"
},
"channel": {
"id": "xxxxx",
"name": "privategroup"
},
"callback_id": "send to sheets",
"trigger_id": "xxxx",
"message_ts": "1579646357.002000",
"message": {
"client_msg_id": "xxxxxx",
"type": "message",
"text": "<xxxxx> blah",
"user": "xxxxxx",
"ts": "1579646357.002000",
"team": "xxxxx",
"blocks": [
-It continues on from here-
Я хочу получить "ts" и "user" внутри "message"
Мой код до сих пор выглядит так:
function doPost(e) {
if (typeof e !== 'undefined') {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Escalations');
var lastRow = sheet.getLastRow();
var parsed = JSON.parse(e.postData.contents);
var userName = parsed.parameter.payload.message.user;
var time = parsed.parameter.payload.message.ts;
var slackDetails = [time,userName];
sheet.getRange(lastRow + 1,13,1,2).setValues([slackDetails]);
}
return ContentService.createTextOutput('thanks');
}
Кто-нибудь знает, что я делаю не так?