1 node.js slack-api slack slack-commands
我对使用 node js 进行 slack api 集成非常陌生。我正在尝试获取频道历史记录。即使我尝试过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' ]*** } }
Run Code Online (Sandbox Code Playgroud)
这是我的代码片段,
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);
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我在这里缺少什么吗?
- 我什么时候应该使用“Bot User OAuth Access Token”和“OAuth Access Token”?
- 什么是通道标识?
- APP ID 是不是叫频道ID?
提前致谢
通常,您代表您的机器人用户使用 bot 令牌并代表使用用户令牌安装您的 Slack 应用程序的用户行事。
因此,例如,如果您的机器人用户是该私人频道的成员,则您只能使用您的机器人令牌访问该私人频道。因此,用户令牌使您可以访问该用户所属的所有私人频道。
此外,还有一些 API 方法不适用于机器人令牌,因此需要您使用用户令牌。(查看每个 API 方法的文档以找出您需要的方法)。一般来说,我建议尽可能坚持使用机器人令牌。
频道 ID 是频道的 ID,对于您的工作区是唯一的。通常,Slack 工作区中的所有对象(例如用户、频道、文件、应用程序、消息)都有自己的 ID,如果您想访问一个对象,大多数 API 方法都要求您使用该 ID。
要获取对象的 ID,您可以使用大多数对象都存在的相应列表 API 方法。例如,对于频道调用channels.list并通过列表查找您正在寻找的频道的 ID(例如,通过比较频道名称)。
专业提示:您可以直接从浏览器调用大多数 API 方法,如果您只想快速查找 ID,这将非常方便。例如https://slack.com/api/channels.list?token=TOKEN获取频道列表。
不是,app ID和channel ID是不同的ID,没有任何关系。有关如何获取频道 ID 的详细信息,请参阅上面的部分。
| 归档时间: |
|
| 查看次数: |
2692 次 |
| 最近记录: |