【问题标题】:LinkedIn v2 API Profile PictureLinkedIn v2 API 资料图片
【发布时间】:2019-10-11 11:24:21
【问题描述】:

我对新 API 以及如何最好地获取与个人资料关联的个人资料图片感到非常困惑。我正在成功接收来自

的数据

https://api.linkedin.com/v2/me?projection=(id,firstName,lastName,profilePicture(displayImage~:playableStreams))

但是,我很好奇解析响应的最佳方法。在响应中,我看到 displayImage~ -> elements -> identifiers 具有字段 identifier 和图像的 url;但是,identifiers 是一个数组。在什么情况下这会返回多个值,我如何确定使用哪一个?现在看来,我应该盲目地取第一个元素。

谢谢!

【问题讨论】:

  • 你有想过这个吗?
  • @JasonEllis 不幸的是没有。出于其他原因,由于 v2 的更改,我们已经放弃了 LinkedIn 集成,但在测试中我只采用了第一个元素。
  • 好的,听起来不错。是的,v2 的变化确实很痛苦。

标签: linkedin-api


【解决方案1】:

我最终只是解析了响应,它实际上在元素中给出了四个值,每个值都是不同的个人资料图片大小。这四个值是 [100x100, 200x200, 400x400, 800x800]。我想要最高质量,所以我使用了下面的索引 3:

let dataDictionary = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String:Any]

let help1 = ((dataDictionary["profilePicture"] as! [String:Any])["displayImage~"]!) as! [String:Any]
let help2 = (help1["elements"]! as! [Any])[3] as! [String:Any]
let help3 = (help2["identifiers"] as! [Any])[0] as! [String:Any]

let imageurl = URL(string: help3["identifier"] as! String)
let data = try? Data(contentsOf: imageurl!)
self.imageView.image = UIImage(data: data!)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多