LinkedIn 用户个人资料图像 URL 中的参数
Posted
技术标签:
【中文标题】LinkedIn 用户个人资料图像 URL 中的参数【英文标题】:Parameters in LinkedIn User Profile Image URL 【发布时间】:2018-10-20 03:00:58 【问题描述】:我在我的 ASP.NET Core 应用程序中使用社交身份验证,其中之一是 LinkedIn 身份验证。
LinkedIn API 似乎发生了一些变化,现在我们似乎获得了一些带有用户图像的参数。
这是我从 LinkedIn API 获得的虚拟完整/原始图像 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
参数可能是某种类型的时间戳,这意味着它可能总是不同的。我不想做出这样的假设,因此提出了这个问题。
【问题讨论】:
您多久更改一次?我已经在会话中多次尝试过,即使是通过不同的 *** 连接,但对我来说并没有改变。t
参数值的大小建议使用 SHA256 编码为 base64。所以它很可能只是为了缓存破坏,实际上就像一个时间戳。如果它发生变化,我认为你应该硬着头皮进行数据库调用。
【参考方案1】:
我尝试了以下 LinkedIn 端点“https://api.linkedin.com/v2/me?oauth2_access_token=”。
对我来说,“pictureInfo”部分下有两个图像,“croppedImage”和“masterImage”。我试图复制您提到的问题,但有一段时间无法复制。在某些时候,我收到了“masterImage”的不同图像 URN。没有后。测试我知道'masterImage'每小时更新一次。有了这个,我进一步尝试了解图像URN中的参数。
从这些,
v=beta 是明确的。早些时候它是 v=alpha 的少数人。 e 似乎是与某个过期时间相关的时间戳。 当 e 变化时,t 也在变化。如果您使用 'masterImage' 触发数据库调用,鉴于此分析,您可以使用正则表达式匹配条件来识别图像的实际变化。
【讨论】:
以上是关于LinkedIn 用户个人资料图像 URL 中的参数的主要内容,如果未能解决你的问题,请参考以下文章