LinkedIn 用户个人资料图像中的参数 URL

Parameters in LinkedIn User Profile Image URL

我在 ASP.NET 核心应用程序中使用社交身份验证,其中之一是 LinkedIn 身份验证。

看起来 LinkedIn 中有一些变化 API 现在我们似乎获得了一些带有用户图像的参数。

这是我从 LinkedIn API 获得的虚拟 full/original 图片 URL。知道这些参数是什么意思吗?特别是,以 t?

开头的那个

https://media.licdn.com/dms/image/A1205CPGrwDzHZS_Apr/profile-originalphoto-shrink_900_1200/0?e=1525989600&v=beta&t=PNuO2bh5rNrIJv19PN1OXOjzDWcQgKdYCl1-ZVzgPOw

这很重要的原因是当用户登录时,我将数据库中已有的数据与来自 LinkedIn 的新数据进行比较——在我的例子中,它仅限于用户个人资料图像,即较小尺寸的图片和用户上传的原始图片。

我注意到图像总是显示不同。在更仔细的分析中,我可以看出这些参数,尤其是以 t 开头的参数是不同之处。这个小改动在我的代码中触发了一个事件来更新用户的图像,这可能是一个完全浪费的数据库调用。我可以用我自己的 LinkedIn 登录信息来确认这一点。尽管我的图像没有改变,但由于 t 组件中的这种差异,原始图像的图像 URL 总是不同的。

t 参数可能是某种类型的时间戳,这意味着它可能总是不同的。我不想做那个假设,因此这个问题。

我尝试了以下 LinkedIn 端点“https://api.linkedin.com/v2/me?oauth2_access_token=”。

对我来说,"pictureInfo" 部分下有两张图片,"croppedImage" 和 "masterImage"。我试图复制您提到的问题,但有一段时间无法复制。在某些时候,我收到了 "masterImage" 的不同图像 URN。没有之后。我了解 'masterImage' 每小时更新一次的测试。有了这个,我进一步尝试理解图像 URN 中的参数。

从这些中,

  • v=beta 很清楚。早些时候它是 v=alpha for few.
  • e 似乎是与某些过期相关的时间戳。
  • 当 e 改变时 t 也在改变。

鉴于此分析,如果您使用 'masterImage' 触发数据库调用,您可以使用正则表达式匹配条件来识别图像中的实际变化。