我可以使用Slack API设置个人资料图片吗



我正在为一个游戏社区管理一个Slack团队。我的用户在游戏中都有头像,我已经在使用Slack API自动将他们的Slack用户名设置为游戏中的名称,这样人们更容易被识别。

此外,我还想在Slack中自动设置他们的个人资料图片和游戏中的头像图片。然而,我想不出一种方法来做到这一点,所以我的问题是能做到吗?如果能,怎么做?

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

  • first_name
  • last_name
  • 所有权
  • 电话
  • skype

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

这里有一个链接,指向我的"未记录的"Slack API方法users.profile.set的文档,以及到目前为止我能想到的所有选项。

任何帮助都将不胜感激。


2017年11月更新

与此同时,Slack添加了一种新的API方法users.setPhoto,用于设置个人资料照片。然而,这种新方法并不能解决这个问题,因为它只适用于您自己的用户(或者更准确地说,您有访问令牌的用户,例如,您没有指定另一个user ID)。

我正在寻找一种方法,通过Slack应用程序/机器人更改我的Slack团队中所有用户的个人资料图片。


用户配置文件示例:

{
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
}

经过一段时间的处理,可以使用未记录的users.setPhoto端点:

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

不幸的是,它会调整你的头像大小,从而取消上传动画gif的功能。

我认为API的概要图还不可用。我不久前读到它在他们的TODO列表上。

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

curl https://slack.com/api/users.setPhoto -F "image=@C:UsersnamePicturesdojocat.jpg" -F "token=xxxx-123-123-123-123"

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

最新更新