不久前搭建了自己的 WordPress 博客,在折腾网站头图、图标的时候发现还可以设置头像,于是就发现了 WP 集成的 Gravatar 这个服务。相比于 QQ 和一些论坛也会有供注册使用的默认头像,它的服务有什么不同?设置好之后,我也没有更多研究。直到有一次在 Working Copy 上设置身份标识的时候,发现头像在随着邮箱的输入而变化,当我输入完整的邮箱地址后,神奇的事情发生了。

我于是意识到,应该是和之前设置的 Gravatar 头像有关。经过研究发现 Working Copy 的帮助 中写道:
The images shown in commit-logs are determined from the email-address of the person making the commit with the help of gravatar.com.
原来,Working Copy 支持 Gravatar 服务,它通过 Gravatar 网站获取与用户邮箱绑定的头像。其实,Working Copy 进行的支持和 GitHub 对 Gravatar 的支持有关,虽然它不再能将用户头像设置为 Gravatar 头像 ,但 commit 历史中还是可以使用的。
Gravatar 是什么
Gravatar 全称是 Globally Recognized Avatar,全球通用头像。它在 2007 年被 WordPress 的母公司 Automattic 收购,并整合进 WordPress 博客平台。用户在 Gravatar 网站注册之后,可以设置和邮箱地址绑定的头像。可以上传多个高质量的正方形图片,最大像素可达 2048 x 2048。其他平台通过邮箱地址获取用户在 Gravatar 网站所设置的头像。所以,对于支持 Gravatar 的服务或软件,都可以显示你设置的头像。前提是你在这些服务或软件中使用了和 Gravatar 相同的邮箱地址。
另外,Gravatar 服务可以绑定多个用户邮箱,所以,不需要为每个邮箱都注册一个 Gravatar 账号。
支持 Gravatar 的常用服务和软件
除了之前所说的 Working Copy 以外,还有一些服务和软件使用 Gravatar。
Moneywiz
相信少数派的很多读者都很熟悉这款经典的记账软件,但可能并不知道如何设置它的头像,因为软件中没有头像设置的入口,也没有说明如何设置。
我也是某一天发现 Moneywiz 的头像不再是默认头像后才知道,它也支持 Gravatar 服务。如帮助所说,如果你不想或者不能用 Moneywiz 的账号注册 Gravatar,也可以将 Moneywiz 的邮箱添加进 Gravatar 的邮箱列表里面,稍作等待即会在左上角看到你设置好的头像了。
Disqus
最近几年个人博客又有兴起的趋势,对于博客来说评论模块有时是必不可少的。Disqus 是一家向网络社区提供网站留言服务的公司,它可以聚合你在不同新闻网站、博客所作的留言。包括 CNN、IGN、每日电讯报等约 75 万个网站使用 Disqus 作为它们的留言系统。WordPress、Jekyll、Typlog 等博客平台也同样都支持。对于这些场景,个人 ID 和头像都是具有辨识度的特征。
通过和 Gravatar 连接,我们也可以在 Disqus 统一设置头像。

Zapier
Zapier 作为和 IFTTT 类似的自动化工具,可以实现一些 IFTTT 不能胜任的多步骤自动化功能。虽然好像并不十分必要,但也支持 Gravatar 头像。

其他服务和软件
因为在大部分服务和软件使用相同的邮箱地址,所以会在无意中发现头像改变,也就知道这些服务或软件支持 Gravatar:
- StackOverflow 网站
- DEVONThink 论坛
- Inoreader
- Airmail
所以,如果你想省去在每个服务或软件中设置头像的工作,可以尝试以下 Gravatar。
如何在你的代码中获取 Gravatar 头像
Gravatar 提供了 API 方便通过代码请求用户的头像。基于邮箱地址的请求需要将其转换为 MD5 编码。步骤如下:
- 去除邮箱地址前后的空白;
- 将所有字符转换成小写;
- 计算字符串的 md5 值,并保存。
然后通过 https://www.gravatar.com/avatar/MD5HASH 这个 url 即可获取邮箱地址所对应的头像。Gravatar 开发者网站 提供了各种语言的示例代码,有兴趣可以去看一看。
Gravatar 服务的安全性
因为每次请求都是通过链接获取头像,而链接中又包含个人的邮箱地址,是否会有一定的风险?在了解之后发现主要的风险如下:
- 私人邮箱地址公开的风险
- 在不同网站使用相同或相似密码的风险
相信大家都有使用密码管理软件的习惯,这样不会因为某个网站的隐私泄露而造成所有账户被破解。另外,使用不是特别重要的邮箱地址在 Gravatar 注册,应该也会规避一定的隐私暴露的风险。
