一般来说,是否可以导入用户的 linkedin 职位或个人资料?

Is it possible to import a user's linkedin job title or profile in general?

我正在阅读文档,但我不是很清楚。

我想构建一个按钮,登录用户可以点击该按钮,将其重定向到 linkedin 以授予我对他们的个人资料的读取权限,然后我会取回此信息。

这有可能吗?

我正在使用 Vue + Laravel

简短回答 - 是的。就像您可以使用 Google、Twitter、Facebook 等登录一样 - 这允许您对某人的个人资料信息进行特定访问,您还可以通过 oAuth 获取某人的 LinkedIn 信息。

LinkedIn 文档在此处:https://docs.microsoft.com/en-us/linkedin/shared/authentication/authorization-code-flow?context=linkedin/context 这里有一个使用 Laravel 的例子:https://codebriefly.com/laravel-socialite-linkedin-login-part-2/

简而言之,您需要:

  1. 创建一个 LinkedIn 开发者门户帐户并在那里注册您的应用程序:https://www.linkedin.com/developers/
  2. 获取客户​​端ID和客户端Secret
  3. https://www.linkedin.com/oauth/v2/authorization 发出 GET 请求以获取授权码
  4. 如果用户批准访问,您将获得授权码,您可以通过向 https://www.linkedin.com/oauth/v2/accessToken
  5. 发出 POST 请求来交换访问令牌
  6. 您现在可以通过使用访问令牌作为授权发出 GET 请求来获取用户的信息 header。

使用javascript:https://makitweb.com/how-to-login-linkedin-with-javascript-api/#createapp

 <!doctype html>
    <html>
     <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
      <script type="text/javascript" src="//platform.linkedin.com/in.js">
       api_key: 81n4hu3u7jybix
       authorize: true
       onLoad: onLinkedInLoad
      </script>

      <script type="text/javascript">

      // Setup an event listener to make an API call once auth is complete
      function onLinkedInLoad() {
       IN.Event.on(IN, "auth", getProfileData);
      }

      // Logout user
      function logout(){
        IN.User.logout(onLogout);
      }

      function onLogout(){
        console.log('Logout successfully');
      }

      // Use the API call wrapper to request the member's basic profile data
      function getProfileData() {

       IN.API.Profile("me").fields("first-name", "last-name", "email-address","picture-url").result(function (data) {

        var userdata = data.values[0];

        $.ajax({
         url: "saveuser.php",
         type: "post",
         data: {"social_type": "linkedin","fname": userdata.firstName,"lname": userdata.lastName,"email": userdata.emailAddress, "profile_image": userdata.pictureUrl },
         success: function(response){

          $('#tableUser').css('display','block');
          $('#fullname').text( userdata.firstName + " " + userdata.lastName);
          $('#email').text( userdata.emailAddress );
          $('#profile_photo').attr( 'src',userdata.pictureUrl );
          logout();
         }
       });

      }).error(function (data) {
        console.log(data);
      });
     }

     </script>
     </head>
     <body>
      <!-- LinkedIn signin button -->
      <script type="in/Login"></script>

      <table id='tableUser' style='display: none;'>
       <tr>
         <td>Name</td>
         <td><span id='fullname'></span></td>
       </tr>

       <tr>
        <td>Email</td>
        <td><span id='email'></span></td>
       </tr>

       <tr>
        <td>Profile image</td>
        <td><img src='' width='32' height='32' id='profile_photo'></td>
       </tr>

      </table>
     </body>
    </html>