Search code examples
pythonjsonrestlinkedin-apiurllib

Error while getting degree connection between two users


I am facing a problem while fetching degree connection between two LinkedIn users. I am sending a request at

https://api.linkedin.com/v1/people::(~,id=<other person's linkedin id>):(relation-to-viewer:(distance))?format=json&oauth2_access_token=<user's access token>.

Sometimes I get a correct response:

{
  "_total": 2,
  "values": [
    {
      "_key": "~",
      "relationToViewer": {"distance": 0}
    },
    {
      "_key": "id=x1XPVjdXkb",
      "relationToViewer": {"distance": 2}
    }
  ]
}

while most of the time I get an erroneous response:

{
  "_total": 1,
  "values": [{
    "_key": "~",
    "relationToViewer": {"distance": 0}
  }]
} 

I have gone through LinkdIn api's profile fields and I believe that I am using the api correctly. I am not sure what's wrong here. Please help.


Solution

  • After posting it on LinkedIn forum, I got the response

    The behavior you're seeing where you only get yourself back from your call falls in line with what I'd expect to see if the member ID you're asking for isn't legitimate. If the member ID exists, but isn't in ~'s network, you should get a -1 distance back, not nothing at all, as you are seeing. However if you put in a completely invalid member ID, only information about ~ will be returned from the call.

    This was indeed the problem. The client on Android and the client on iOS had different API keys and both were using the same backend to access the degree connection. By using the same API key for both the clients resolved the issue.