【发布时间】:2020-10-27 13:28:10
【问题描述】:
当我尝试official page 或other example 时。
-
我明白了
{"error":"access_denied","error_description":"该应用不允许创建应用令牌"}
我在下面添加了代码,但没有获得访问令牌。这表明应用程序不允许创建应用程序令牌。
{
String urlParameters = "grant_type=client_credentials&client_id="+linkedInClientId+"&client_secret="+linkedInClientSecret;
String urlParametersEncoded = "";
try {
urlParametersEncoded = URLEncoder.encode(urlParameters, "UTF-8");
} catch (Exception e) {
System.out.println("URL Encode error.." + e);
}
String url = "https://www.linkedin.com/oauth/v2/accessToken?" + urlParametersEncoded;
String access_token = "null";
try {
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
//add reuqest header
con.setRequestMethod("POST");
con.setRequestProperty("Host", "www.linkedin.com");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
System.out.println("\nSending 'POST' request to URL : " + url);
System.out.println("Post parameters : " + urlParameters);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
//print result
//System.out.println(response.toString());
JSONObject jsonObj = new JSONObject(response.toString());
access_token = jsonObj.getString("access_token");
System.out.println("!!!!!!!!!!!" + access_token);
} catch (Exception e) {
System.out.println("error token.." + e);
}
return access_token;
}
【问题讨论】:
-
你能添加一些相关的代码,让人们看到你想要实现的目标吗?
-
@StephanHogenboom 我添加了代码
-
您在第2步中遇到错误,您是否在第1步中正确创建了应用程序?
-
@forkdbloke 我正确创建了应用程序,但默认添加了 3-legged 权限。我不知道如何创建 2-legged 权限
标签: java spring-boot linkedin linkedin-api