【问题标题】:Slack Upload : Error while trying to upload using CurlSlack Upload:尝试使用 Curl 上传时出错
【发布时间】:2017-10-16 12:17:29
【问题描述】:

我正在尝试使用我从here 了解到的 curl 命令上传本地文件 但是在尝试运行命令时,它不起作用并抛出错误:

{"ok":false,"error":"not_authed"}

我正在运行的命令是:

curl -F file=testsend.txt -F channels=#channel -F token='token' -F filetype=post https://slack.com/api/files.upload

【问题讨论】:

    标签: curl slack slack-api


    【解决方案1】:

    根据您收到的错误消息,您使用的访问令牌无效。请仔细检查您是否使用了有效的访问令牌,应该如下所示:

    -F token='xoxo-123456789-123456789'
    

    我假设您没有使用 'token' 作为访问令牌。那显然行不通。

    要获取访问令牌,您需要创建一个 Slack 应用并将其安装到您的工作场所(请参阅此处的 documentation),或者您可以获取 legacy token 用于测试目的。

    还要确保您的访问令牌具有上传文件所需的权限,例如files:write:user

    【讨论】:

    • 感谢 Erik 的回复。我正在为特定频道传递 Jenksin-CLI 令牌,而当我使用我的用户令牌时,该命令有效,例如“xoxp ....”。如果我可以使用 Jenkins-CLI 通道令牌而不是我的用户令牌上传文件,有什么地方可以上传?
    • 取决于,不知道您所说的“Jenkins-CLI 通道”令牌是什么意思。上面的错误信息暗示它无效,不能使用。所以猜你需要使用自己的令牌。或者您创建一个具有正确权限的 Slack 应用程序以获得更中立的访问令牌。
    【解决方案2】:

    对于接受的解决方案不起作用的其他人。 将令牌添加到标题对我有用。

    标记是参数还是标头无关紧要,但对我来说确实如此。

    例如

    curl -F file=@cycling.jpeg -F "initial_comment=Hello, Leadville" -F channels=C0R7MFNJD -H "Authorization: Bearer xoxp-123456789" https://slack.com/api/files.upload
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-25
      • 2014-06-12
      • 2017-08-27
      • 2022-06-23
      • 1970-01-01
      • 2018-04-10
      • 2016-05-11
      相关资源
      最近更新 更多