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 中的参数的主要内容,如果未能解决你的问题,请参考以下文章

使用 selenium 在 LinkedIn 上抓取个人资料网址

向 LinkedIn API 发出请求会导致 401

如何使用 api 将图像上传并发布到linkedin?

从 JSON 中的 URL 加载的图像视图在滚动时发生变化

在LinkedIn上共享带有图片和描述预览的网站URL

在linkedin页面中发布共享时,已解析的URL无法正常工作