slack api rtm.start missing_scope需要客户端

时间:2015-01-08 05:49:35

标签: slack-api

我有获取访问令牌,当我尝试发布rtm.start时,我收到以下错误:

{
    error = "missing_scope";
    needed = client;
    ok = 0;
    provided = "identify,read,post";
}

我已将范围设置为在授权api中读取,发布,识别。我一遍又一遍地阅读了api文件。只有rtm.start提到了客户端范围。但在oauth文档中,我没有找到客户端范围。那么,有什么不对?

2 个答案:

答案 0 :(得分:7)

你必须在获得令牌之前这样做。

当您执行连接应用的初始请求时,请包含& scope =“识别,阅读,发布,客户”

答案 1 :(得分:1)

根据应用程序凭据获得您的客户端ID和客户端密钥。 转到:

https://#{team}.slack.com/oauth/authorize?client_id=#{cid}&scope=client

用您的值替换#{team}和#{cid}。

当您批准授权时,您将转到无法解析的真实网址。将整个网址复制到剪贴板,然后将其粘贴到文本文件中。仅提取“代码”部分。

现在转到:

https://#{team}.slack.com/api/oauth.access?client_id=#{cid}&client_secret=#{cs}&code=#{code}"

您将获得令牌,例如: xoxp-4422442222–3111111111–11111111118–11aeea211e

(从这里开始:https://medium.com/@andrewarrow/how-to-get-slack-api-tokens-with-client-scope-e311856ebe9