要使用REST API在LinkedIn使用ID的用户数据获取(Want to fetch data

2019-10-22 19:00发布

我使用LinkedIn的OAuth 2.0。 在这里,我取下面下一步码令牌是,我想获取其电子邮件ID,我将传递一个用户的信息。 但它给错误无法加载资源错误:500。

下面是代码:

 chrome.identity.launchWebAuthFlow({
    "url": " https://www.linkedin.com/uas/oauth2/authorization?&response_type=code&client_id=" + clientid + 
                "&redirect_uri=" + encodeURIComponent(redirectUri) +
                "&state=121212121"

                  ,'interactive': true,  
                },
                function(redirect_url) { 
                    var pairs = redirect_url.split('/');
                    var values = {};
                    var code1 = redirect_url.split('?');
                    var code2 = code1[1].split('&');
                    var code3 = code2[0].split('=');
                    var actualCode = code3[1];// actual code obtained in request
                    var deferred = $q.defer();
                    var req = {
                        method: 'POST',
                        url: 'https://www.linkedin.com/uas/oauth2/accessToken?&grant_type=authorization_code&code=' + actualCode + 
                        '&redirect_uri='+ redirectUri + '&client_id=' + clientid + '&client_secret=' + clientSecretKey,
                        headers:{
                            'Access-Control-Expose-Headers': 'X-My-Custom-Header, X-Another-Custom-Header'
                        } 
                    }
                    $http(req).then(function(data){
                        deferred.resolve(data);
                        console.log("deferred.resolve(data)"+ data.data.access_token ); // gives the token generated

                        var req2 = {
                            method: 'GET',
                            url: 'https://api.linkedin.com/v1/people/email=xxxx@gmail.com:(first-name,last-name)?format=json',
                            headers :{
                                'oauth_token': data.data.access_token,
                                'x-li-format': 'json'
                            }
                        }
                        $http(req2).then(function(data1){
                            deferred.resolve(data1);
                            console.log("sndsnd");
                            console.log("deferred.resolve(data)"+ data1.data );
                        });
                    });
                }
            );

Answer 1:

你不必指定电子邮件和领域的档案数据。 采用

url : https://api.linkedin.com/v1/people/~?format=json

并以“r_basicprofile”权限正确的accessToken得到像名字,姓氏,ID,标题和siteStandardProfileRequest的基本细节。

程序来检索额外的个人资料栏,使用

url : https://api.linkedin.com/v1/people/~:(id,num-connections,picture-url)?format=json

对于使用“r_basicprofile”许可使用个人资料栏,检查https://developer.linkedin.com/docs/fields/basic-profile

对于用户的完整的个人资料的详细信息,您的应用程序需要得到来自LinkedIn的访问使用“与LinkedIn应用”

https://developer.linkedin.com/docs/fields/full-profile

https://developer.linkedin.com/docs/apply-with-linkedin

与LinkedIn申请表格:

https://help.linkedin.com/app/ask/path/api-dvr



文章来源: Want to fetch data of user using id in linkedin using rest api