Cravatar 官方 API 文档


目录

基本概念

Cravatar 初认头像服务可以像普通的图片 URL 一样请求,具体格式是:

https://cn.cravatar.com/avatar/HASH
https://cn.cravatar.com/avatar/HASH

其中 HASH 部分是你的电子邮箱的哈希值,此电子邮箱必须在 Cravatar.com / cn.cravatar.com 上注册并绑定头像,否则会尝试返回 Gravatar 头像和 QQ 头像,如果都不存在,则返回默认头像。

电子邮箱的哈希方法

总体一共以下三步:

  1. 去除首尾两边的空格
  2. 所有字母转小写
  3. 计算 MD5 值

以下以 PHP 语言进行演示:

$email   = 'cravatar@feibisi.com';
$address = strtolower( trim( $email ) );
$hash    = md5( $address );

拼接图片请求 URL

依然以 PHP 语言进行演示:

$url = 'https://cn.cravatar.com/avatar/' . $hash;

指定图片格式

我们当前支持四种图片返回格式,分别是:jpg、jpeg、png、gif。

你可以简单的通过向图片访问 URL 拼接文件后缀的方式来访问特定格式的图片,完整的请求 URL 类似如下:

https://cn.cravatar.com/avatar/e1e7ba949ade0936e071132d2edd3b3c.png
https://cn.cravatar.com/avatar/e1e7ba949ade0936e071132d2edd3b3c.png

特别地:在浏览器明确表明支持 webp(Accept 中包含 image/webp)的情况下我们会强制返回 webp 格式,此时用户无法手工指定图片格式。之所以这样设计是因为 webp 已经可以完全取代其他格式,同时其提供了更小的体积,这给予了我们更快的加载速度。

额外的参数

调整头像大小

默认情况下,我们会返回 80×80 尺寸的头像,但是你可以通过 s 或 size 参数来指定要获取的头像大小,完整的 URL 类似如下:

https://cn.cravatar.com/avatar/e1e7ba949ade0936e071132d2edd3b3c?s=400
https://cn.cravatar.com/avatar/e1e7ba949ade0936e071132d2edd3b3c?s=400

以上 URL 将返回一个 400×400 的图像

默认头像

如果你的邮箱哈希无法匹配到任何头像,则返回我们的默认头像:

你可以通过 d 或 default 参数自己指定默认头像:

https://cn.cravatar.com/avatar/245467ef31b6f0addc72b039b922a4?d=https%3A%2F%2Fcravatar.com%2Fwp-content%2Fuploads%2Fsites%2F9%2F2021%2F07%2F4.png
https://cn.cravatar.com/avatar/245467ef31b6f0addc72b039b922a4?d=https%3A%2F%2Fcravatar.com%2Fwp-content%2Fuploads%2Fsites%2F9%2F2021%2F07%2F4.png

需要注意的是,传递的默认头像地址必须经过 URL 编码,在 PHP 中你可以这样写:

urlencode( 'https://cravatar.com/wp-content/uploads/sites/9/2021/07/4.png' );
urlencode( 'https://cravatar.com/wp-content/uploads/sites/9/2021/07/4.png' );

同时默认头像需要满足以下几个条件:

  1. 必须是公开可用的(例如,不能位于内部网、本地开发机器、或是存在防火墙等)。
  2. 必须可以通过标准端口 80 和 443 上的 HTTP 或 HTTPS 进行访问。
  3. 必须具有可识别的图像扩展名(jpg、jpeg、gif、png)
  4. 不得包含查询字符串(如果包含,它将被忽略)

除了允许你自己指定默认头像外,我们还准备了一组内置的默认头像,只需要传入 d=默认头像ID 即可调用:

强制加载默认头像

如果由于某种原因你想强制始终返回默认头像,您可以使用 f 或 forcedefault 参数并将其值设置为 y。

https://cn.cravatar.com/avatar/e1e7ba949ade0936e071132d2edd3b3c?f=y
https://cn.cravatar.com/avatar/e1e7ba949ade0936e071132d2edd3b3c?f=y

指定要显示的头像级别

该选项存在于 Gravatar 中,但 Cravatar 并不提供对该选项的支持。这同样是为了符合中国法律。

组合参数

以上所介绍的所有关于 Cravatar 的参数都可以自由组合,比如你可以提供这样的一个头像URL:

https://cn.cravatar.com/avatar/e1e7ba949ade0936e071132d2edd3b3c.png?s=200&d=retro&f=y
https://cn.cravatar.com/avatar/e1e7ba949ade0936e071132d2edd3b3c.png?s=200&d=retro&f=y

以上头像URL将始终返回格式为 png、尺寸为 200 的 8 位色像素人脸。


版本号 #3
由 壳壳虫 创建于 2021-07-28 07:55:25 UTC
由 壳壳虫 更新于 2024-09-29 11:18:24 UTC