LinkedIn用户个人资料图片网址

时间:2018-05-09 22:08:33

标签: asp.net-core linkedin linkedin-api social-authentication

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

看起来LinkedIn API已经发生了一些变化,现在我们似乎得到了一些用户图像的参数。

这是我从LinkedIn API获取的虚拟完整/原始图片网址。知道这些参数意味着什么吗?特别是以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组件存在差异。

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

1 个答案:

答案 0 :(得分:0)

我尝试了以下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'来触发数据库调用,则可以使用正则表达式匹配条件来识别图像中的实际更改。

相关问题