【问题标题】:How to retrieve user avatar from a Trello API?如何从 Trello API 中检索用户头像?
【发布时间】:2020-07-14 11:12:43
【问题描述】:

trello API 只提供哈希值,例如avatarHashgravatarHashuploadedAvatarHash 等。有没有办法从这些哈希值中检索图像 url?

【问题讨论】:

    标签: javascript api hash trello avatar


    【解决方案1】:

    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 和大小。如果没有这些参数,它将无法工作。我为这个问题找到了另一个解决方案:还有另一个哈希 avatarHashgravatarHash 不同。使用此哈希,您可以通过 url 检索图像:http://trello-avatars.s3.amazonaws.com/${avatarHash}/50.png 以及
    • 我认为@mcmxc 评论应该是答案。使用 Gravatar 我得到了错误的图像,但使用 amazonaws URL 我得到了正确的图像。 (或更新此答案)
    • 截至 2020 年 5 月 3 日,trello-avatars 为我尝试的所有内容返回 403。看起来 gravatarHash 可能是现在获得这个的唯一方法。
    • ...我发现除非您可以将个人电子邮件的 md5 小写为 gravatarHash(≠ Trello avatarHash),否则这将不起作用。解决方案:将 403'ing https://trello-avatars.s3.amazonaws.com/{avatarHash}/30.png 替换为 https://trello-members.s3.amazonaws.com/{id}/{avatarHash}/30.png。意味着您需要访问用户/成员id,但这应该与返回的avatarHash 具有相同的信息。
    【解决方案2】:

    使用此哈希,您可以通过 url 检索图像:http://trello-avatars.s3.amazonaws.com/${avatarHash}/50.png

    【讨论】:

    • /170.png 的大小也是公开的。
    • 从外观上看,有效尺寸(.png 之前的部分)为:3050170original
    • 如果我不用美元符号就可以了。谢谢!
    • 截至 2020 年 5 月 3 日,我尝试的所有操作都返回 403。看起来 gravatarHash 可能是现在获得这个的唯一方法。
    • ...我认为除非您可以将个人电子邮件的 md5 小写为 gravatarHash(≠ Trello avatarHash),否则这将不起作用。解决方案:将 403'ing https://trello-avatars.s3.amazonaws.com/{avatarHash}/30.png 替换为 https://trello-members.s3.amazonaws.com/{id}/{avatarHash}/30.png。意味着您需要访问用户/成员 id,但这应该与返回 avatarHash 的信息相同。
    【解决方案3】:

    唉,截至 2020-05-05,这两个答案都不起作用。

    1. gravatarHash 解决方案可以从 Gravatar 获取头像,但我不确定该解决方案是否像 Trello API 返回的 avatarHash 中所述那样有效,因为 Trello API 返回一个不透明的 avatarHashgravatarHash 不同。根据Gravatar APis,它们是经过修剪的、小写的、经过 MD5 处理的电子邮件地址。所以gravatarHash≠Trello avatarHash

    2. 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),它可以在这种新模式下正常工作。

    【讨论】:

      【解决方案4】:

      截至 2020 年 7 月 14 日,正确的 URL 路径如下:

      https://trello-members.s3.amazonaws.com/{member.id}/{member.avatarHash}/{size}.png
      

      注意:这似乎不适用于任意大小值,但它适用于 size = 170。

      【讨论】:

        猜你喜欢
        • 2017-01-09
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        • 2013-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-27
        相关资源
        最近更新 更多