Узел js - слабая интеграция API - ошибка: произошла ошибка API: channel_not_found - PullRequest
0 голосов
/ 28 ноября 2018

Я очень новичок в слабой интеграции API с использованием узла js.Я пытаюсь получить историю каналов.Даже я попробовал с chat.postMessage.Но это каждый раз приводило меня к следующей ошибке:

{ Error: An API error occurred: channel_not_found
at platformErrorFromResult (..\node_modules\@slack\client\dist\WebClient.js:747:42)
    at __await.makeRequest.then (..\node_modules\@slack\client\dist\WebClient.js:464:39)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)   
code: 'slackclient_platform_error',   
data:    
{ ok: false,
     error: 'channel_not_found',
     scopes:
      [ 'identify',
        'bot',
        'commands',
        'channels:history',
        'chat:write:user',
        'chat:write:bot' ],
     acceptedScopes: [ 'channels:history' ]*** } }

Вот мой фрагмент кода,

    const { WebClient } = require('@slack/client');

    const token = "OAuth Access Token"; // passing OAuth Access Token
    const web = new WebClient(token);

    web.channels.history({ channel: appID})
        .then((res) => {
            console.log('Message sent: ', res.ts);
        })
        .catch(console.error);

Может кто-нибудь помочь мне, что мне здесь не хватает?

  1. Когда я должен использовать «токен доступа OAuth пользователя бота» и «токен доступа OAuth»?
  2. Что такое идентификатор канала?
  3. Вызывается ли идентификатор приложения в качестве идентификатора канала?

Заранее спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

Бот-токен против пользовательского токена

Как правило, вы действуете от имени вашего бота с помощью бот-токена и от имени пользователя, который установил ваше приложение Slack с помощью пользовательского токена.

Так, например, вы можете получить доступ к частному каналу с вашим токеном бота, если ваш пользователь бота является участником этого частного канала.Соответственно, токен пользователя дает вам доступ ко всем частным каналам, членом которых он является.

Кроме того, существуют некоторые методы API, которые не работают с бот-токеном и поэтому требуют использования пользовательского токена.(Проверьте документацию для каждого метода API , чтобы узнать, какой вам нужен).В общем, я бы рекомендовал придерживаться токена бота всякий раз, когда это возможно.

Идентификатор канала

Идентификатор канала - это идентификатор канала, уникальный для вашей рабочей области.В общем, все объекты в рабочем пространстве Slack (например, пользователи, каналы, файлы, приложения, сообщения) имеют каждый собственный идентификатор, и большинство методов API требуют использования этого идентификатора, если вы хотите получить доступ к объекту.

КомуПолучить идентификатор объекта вы можете с помощью соответствующих методов API списка, которые существуют для большинства объектов.например, для каналов позвоните channels.list и просмотрите список, чтобы найти идентификатор для канала, который вы ищете (например, сравнив название канала).

Совет: вы можете позвонитьбольшинство методов API прямо из вашего браузера, что может быть очень удобно, если вы просто хотите быстро найти идентификатор.например, https://slack.com/api/channels.list?token=TOKEN, чтобы получить список каналов.

Идентификатор приложения и идентификатор канала

Нет.Идентификатор приложения и идентификатор канала являются разными идентификаторами и не имеют ничего общего друг с другом.Подробнее о том, как получить идентификатор канала, см. Выше.

...