Slack: метод Slack Web API: беседы. метод истории не работает должным образом при использовании последних и самых старых опций

#slack #slack-api

#слабина #slack-api

Вопрос:

Я пишу приложение slack для чтения сообщений с частного канала и записи в базу данных. Для этой цели я использую метод conversation.history. Мой подход заключается в следующем

  • Вызовите Slack api с параметрами limit=100, channelId , токен бота и сохраните сообщения в базе данных вместе с отметкой времени ts для сообщения
  • Извлеките следующие 100, вызвав метод с помощью prams как limit= 100, channelid, токен бота, самый старый = ts (временная метка самой старой записи, вставленной в базу данных в документации API, в которой указано, что значение latest по умолчанию равно значению now .

В этом случае я должен получить следующие 100 записей, но я ничего не получаю.

И я не знаю, как обычно преобразовать дату и время, например, 12 декабря 2020 года, 5:40:00 (12/03/2020), во временную метку, например, 1607017252.113300

Я использую язык C # для выполнения всей этой работы.

Ответ №1:

Вы должны передавать самую старую временную метку в качестве latest параметра при следующем вызове API. (API Slack выиграет от переименования «latest» в «newest».)

Первый звонок:

 https://slack.com/api/conversations.history?token=TOKENamp;channel=CHANNEL_IDamp;limit=100
 

Второй звонок:

 https://slack.com/api/conversations.history?token=TOKENamp;channel=CHANNEL_IDamp;limit=100amp;latest=PREVIOUS_OLDEST_TS