Home Articles

我可以使用Slack API设置 Profiles 图片吗?

Asked
Viewed 1858 times
4

我正在为一个游戏社区运营Slack团队 . 我的用户都拥有游戏中的头像,我已经使用Slack API自动将他们的Slack用户名设置为他们的游戏内名称,因此人们更容易被识别 .

此外,我还想在Slack中自动设置他们在游戏中的头像图片 . 但是我无法想出办法,所以我的问题是可以做到,如果是,怎么做?

我目前的出发点是未记录的API方法 users.profile.set ,它允许我设置用户的配置文件(请参阅下面的用户配置文件示例) . 到目前为止,我已经能够修改:

  • first_name

  • last_name

  • Headers

  • 电话

  • skype

用户配置文件还包含配置文件图片的URL,但到目前为止我无法更改它 . 我尝试了外部URL,以及已经在Slack上传的图像的URL .

这是我对"undocumented" Slack API方法 users.profile.set 的文档的link,其中包含了迄今为止我能想到的所有选项 .

任何帮助将非常感激 .


Update November 2017

与此同时,Slack添加了一个名为users.setPhoto的新API方法来设置 Profiles 照片 . 但是,这种新方法无法解决这个问题,因为它只适用于您自己的用户(或者更确切地说,您拥有访问令牌的用户,例如您没有指定另一个 user ID ) .

我正在寻找一种方法来通过Slack app / bot更改Slack团队中所有用户的 Profiles 图片 .


用户配置文件的示例:

{
id: "U12345678",
team_id: "T12345678",
name: "erik.kalkoken",
deleted: false,
status: null,
color: "9f69e7",
real_name: "Erik Kalkoken",
tz: "America/Chicago",
tz_label: "Central Daylight Time",
tz_offset: 3600,
profile: {
avatar_hash: "XXX",
first_name: "Erik",
last_name: "Kalkoken",
title: "",
phone: "",
skype: "",
image_24: "https://avatars.slack-edge.com/2016-03-19/XXX_24.jpg",
image_32: "https://avatars.slack-edge.com/2016-03-19/XXX_32.jpg",
image_48: "https://avatars.slack-edge.com/2016-03-19/XXX_48.jpg",
image_72: "https://avatars.slack-edge.com/2016-03-19/XXX_72.jpg",
image_192: "https://avatars.slack-edge.com/2016-03-19/XXX_192.jpg",
image_512: "https://avatars.slack-edge.com/2016-03-19/XXX_512.jpg",
image_1024: "https://avatars.slack-edge.com/2016-03-19/XXX_512.jpg",
image_original: "https://avatars.slack-edge.com/2016-03-19/XXX_original.jpg",
real_name: "Erik Kalkoken",
real_name_normalized: "Erik Kalkoken",
email: "test@email.com"
},
is_admin: false,
is_owner: false,
is_primary_owner: false,
is_restricted: false,
is_ultra_restricted: false,
is_bot: false,
has_2fa: false
}

3 Answers

  • 2

    稍微讨论一下后,可以使用未记录的 users.setPhoto endpoints :

    curl https://slack.com/api/users.setPhoto \
        -F "token=<removed>" \
        -F "image=@/path/to/image.jpg"
    

    不幸的是,它会调整你的头像大小,这会删除上传动画GIF的能力 .

  • 1

    我认为 Profiles 图片API尚未推出 . 我读了一会儿,说它出现在他们的TODO名单上 .

  • 0

    我能够使用Jay Querie的方法让它工作 . 两个区别是我给出了完整的路径,我把图像放在第一位 . 所以在我的情况下:

    curl https://slack.com/api/users.setPhoto -F "image=@C:\Users\name\Pictures\dojocat.jpg" -F "token=xxxx-123-123-123-123"
    

    最初当我使用gitbash运行curl时,它正在我的gitbash安装/正在执行的目录中搜索图像 . 因此,如果我将dojocat.jpg放在我的gitbash可执行文件旁边,它就会找到它 .

Related