是否可以检查没有OAuth的LinkedIn公司或组是否存在?

时间:2015-01-09 14:21:05

标签: php oauth linkedin

作为实习的一部分,我正在制作一个' brandchecker'您输入新公司名称的地方,如果已经采取域名(.com,.net,.org,.nl),并且已经获取了Facebook,Twitter和LinkedIn页面,它会检查您。我现在在LinkedIn部分,我只需要知道页面是否存在。我不需要查看帖子,成员,会员或任何喜欢的内容,我只需要知道它是否存在。

LinkedIn API说我可以这样做,我只需要使用OAuth授权会话(?)。老实说,我对OAuth一无所知,但有些事情告诉我,还有另一种方法来检查公司页面或组是否存在。

有没有其他方法可以检查公司或组是否存在而不使用OAuth?

谢谢!

1 个答案:

答案 0 :(得分:1)

这并不难,因为访问令牌有效期为60天,你可以手动得到这样的一个:

  1. https://www.linkedin.com/secure/developer上注册一个虚假redirect_uri https://bogus.com/linkedin的申请,并复制生成的consumer keyconsumer secret
  2. 在浏览器栏中输入https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=<consumer_key>&state=bogus&redirect_uri=https%3A%2F%2Fbogus.com%2Flinkedin
  3. 登录并接受客户端的权限,然后您将被重定向到https://bogus.com/linkedin?code=<code>
  4. 等非功能性网址
  5. 将该网址中的code值复制到以下CURL命令中:

    curl "https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=<code>&redirect_uri=https%3A%2F%2Fbogus.com%2Flinkedin&client_id=<consumer_key>&client_secret=<consumer_secret>"

  6. ,您的访问令牌将在响应中:

    {"access_token":"<token>","expires_in":5174190}
    
    然后,您可以拨打电话:

    curl -H "Authorization: Bearer <token>" "https://api.linkedin.com/v1/company-search?keywords=<name>&format=json"
    

    与PHP相当:

    $headers = array(
      'Authorization: Bearer ' . $token,
      'x-li-format: json'
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $response = curl_exec($ch);
    curl_close($ch);
    $r = json_decode($response);