我正在使用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 );
});
});
}
);
答案 0 :(得分:3)
您无需为基本配置文件数据指定电子邮件和字段。使用
url : https://api.linkedin.com/v1/people/~?format=json
以及使用“r_basicprofile”权限的正确accessstoken获取firstName,lastName,id,headline和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申请表: