Используя GPT, я смог создать Slack-бота и подготовить токен. Но это ниже строк не работает.
Я попробовал тестер в этом https://api.slack.com/methods/conversations.history, чтобы убедиться, что токен действителен. Я подозреваю, что приведенный ниже URL-адрес не работает, но не знаю, как это исправить.
Если у вас есть более простой способ получить данные и поместить их в Google Sheet, сообщите мне об этом.
function getConversationHistory() {
var token = "YOUR_SLACK_API_TOKEN";
var channel = "CHANNEL_ID";
var url = "https://slack.com/api/conversations.history?token = " + token + "&channel = " + channel;
var response = UrlFetchApp.fetch(url);
var data = JSON.parse(response.getContentText());
var messages = data.messages;
for (var i = 0; i < messages.length; i++) {
var message = messages[i];
var text = message.text;
var ts = message.ts;
// do something with the message data
}
}
Я считаю, что ваша цель заключается в следующем.
var url = "https://slack.com/api/conversations.history?token = " + token + "&channel = " + channel;
из Slack в Google Spreadsheet.text
и ts
.В таком случае, как насчет следующей модификации?
В этом случае скопируйте и вставьте следующий скрипт в редактор скриптов Google Spreadsheet и сохраните скрипт после подтверждения значений token
и channel
.
function getConversationHistory() {
var token = "YOUR_SLACK_API_TOKEN";
var channel = "CHANNEL_ID";
var url = "https://slack.com/api/conversations.history?token = " + token + "&channel = " + channel;
var response = UrlFetchApp.fetch(url);
var data = JSON.parse(response.getContentText());
// I modified the below script.
var headers = ["text", "ts"];
var values = [headers, ...data.messages.map(o => headers.map(h => o[h] ? (h == "ts" ? new Date(o[h] * 1000) : o[h]) : null))];
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // Please set the sheet name.
sheet.getRange(1, 1, values.length, values[0].length).setValues(values);
}
text
и ts
из url
помещаются в «Лист1» электронной таблицы.@Miles Спасибо за ответ. Я рад, что ваша проблема была решена. Что касается вашего нового вопроса As a follow up, I had a problem accessing the slack api use that URL link. it is giving me invalid_auth. I wonder if this is legacy method and can no longer be used.
, я хотел бы вас поддержать. Но, я должен извиниться за мое плохое знание английского языка. К сожалению, я не могу понять ваш новый вопрос. Итак, я хотел бы порекомендовать опубликовать его как новый вопрос. Если вы можете сотрудничать, чтобы решить ваш новый вопрос, я рад. Можете ли вы сотрудничать, чтобы сделать это?
Привет Танаке, спасибо за изучение этого. В качестве продолжения у меня возникла проблема с доступом к слабому API, используя эту URL-ссылку. это дает мне invalid_auth. Интересно, это устаревший метод и его больше нельзя использовать? Но спасибо за изменение части сценария сообщения.