【发布时间】:2020-07-14 11:12:43
【问题描述】:
trello API 只提供哈希值,例如avatarHash、gravatarHash、uploadedAvatarHash 等。有没有办法从这些哈希值中检索图像 url?
【问题讨论】:
标签: javascript api hash trello avatar
trello API 只提供哈希值,例如avatarHash、gravatarHash、uploadedAvatarHash 等。有没有办法从这些哈希值中检索图像 url?
【问题讨论】:
标签: javascript api hash trello avatar
Trello 使用 Gravatar,因此您返回的哈希与此直接相关。
基本网址为:http://www.gravatar.com/avatar/
您可以添加 jpg 和 1 到 512 之间的大小。
一个例子:
http://www.gravatar.com/avatar/ [这里的哈希] .jpg?s=80
会回馈80px头像
function get_gravatar(hash, size) {
var size = size || 80;
return 'http://www.gravatar.com/avatar/' + hash + '.jpg?s=' + size;
}
【讨论】:
.jpg 和大小。如果没有这些参数,它将无法工作。我为这个问题找到了另一个解决方案:还有另一个哈希 avatarHash 与 gravatarHash 不同。使用此哈希,您可以通过 url 检索图像:http://trello-avatars.s3.amazonaws.com/${avatarHash}/50.png 以及
https://trello-avatars.s3.amazonaws.com/{avatarHash}/30.png 替换为 https://trello-members.s3.amazonaws.com/{id}/{avatarHash}/30.png。意味着您需要访问用户/成员id,但这应该与返回的avatarHash 具有相同的信息。
使用此哈希,您可以通过 url 检索图像:http://trello-avatars.s3.amazonaws.com/${avatarHash}/50.png
【讨论】:
/170.png 的大小也是公开的。
.png 之前的部分)为:30、50、170 和 original。
https://trello-avatars.s3.amazonaws.com/{avatarHash}/30.png 替换为 https://trello-members.s3.amazonaws.com/{id}/{avatarHash}/30.png。意味着您需要访问用户/成员 id,但这应该与返回 avatarHash 的信息相同。
唉,截至 2020-05-05,这两个答案都不起作用。
gravatarHash 解决方案可以从 Gravatar 获取头像,但我不确定该解决方案是否像 Trello API 返回的 avatarHash 中所述那样有效,因为 Trello API 返回一个不透明的 avatarHash与gravatarHash 不同。根据Gravatar APis,它们是经过修剪的、小写的、经过 MD5 处理的电子邮件地址。所以gravatarHash≠Trello avatarHash。
https://trello-avatars.s3.amazonaws.com/{avatarHash}/50.png 现在是 403s。 Trello 开发人员做出了改变。
新解决方案:
使用https://trello-members.s3.amazonaws.com/{id}/{avatarHash}/50.png
其中 {id} 是成员/用户 ID,{avatarHash} 是从 Trello API 检索到的相同。同样的 API 还允许您指定返回 id,因此通过 API 调用将其添加到字段列表中。
实际上,在通过查看 Trello.com 上的头像进行验证时,他们似乎只使用了这个 trello-members URL。
如果您添加字段avatarUrl,则会在相同的数据响应中返回。
我已经更新了我们的 Gmail-2-Trello Chrome 扩展程序 (https://g2t.pub/chrome),它可以在这种新模式下正常工作。
【讨论】:
截至 2020 年 7 月 14 日,正确的 URL 路径如下:
https://trello-members.s3.amazonaws.com/{member.id}/{member.avatarHash}/{size}.png
注意:这似乎不适用于任意大小值,但它适用于 size = 170。
【讨论】: