使用java代码访问linkedin页面 [英] Accessing the linkedin page using java code
本文介绍了使用java代码访问linkedin页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要创建一个java代码,它为我提供了公司的linkedin页面的关注者数量以及在linkedin页面中发生的点击次数。我需要做的第一件事是开发应用程序接口(API)。我使用开发者网站获取创建了一个api。我拿到了钥匙。我应该如何在我的java程序中运行它?
I need to create a java code which gives me the number of followers of a company's linkedin page along with number of clicks that happen in the linkedin's page. First thing that i need to do is develop an Application Program Interface(API) . I created an api using developer site for linkedin. i got the keys. How am i supposed to run it in my java program?
推荐答案
下载以下罐子
- > Commons-codec-1.3.jar
- > signpost-core-1.1-SNAPSHOT.jar
然后以下程序必须正常工作
Download the following jars
--> Commons-codec-1.3.jar
--> signpost-core-1.1-SNAPSHOT.jar
and then the following program must work fine
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.net.HttpURLConnection;
import java.net.URL;
import oauth.signpost.OAuth;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.basic.DefaultOAuthConsumer;
import oauth.signpost.basic.DefaultOAuthProvider;
import oauth.signpost.signature.SignatureMethod;
public class Linkedin
{
public static void main(String[] args) throws Exception {
OAuthConsumer consumer = new DefaultOAuthConsumer(
"your linkedin key",
"linkedin secret",
SignatureMethod.HMAC_SHA1);
OAuthProvider provider = new DefaultOAuthProvider(consumer,
"https://api.linkedin.com/uas/oauth/requestToken",
"https://api.linkedin.com/uas/oauth/accessToken",
"https://api.linkedin.com/uas/oauth/authorize");
System.out.println("Fetching request token from LinkedIn...");
// we do not support callbacks, thus pass OOB
String authUrl = provider.retrieveRequestToken(OAuth.OUT_OF_BAND);
System.out.println("Request token: " + consumer.getToken());
System.out.println("Token secret: " + consumer.getTokenSecret());
System.out.println("Now visit:\n" + authUrl
+ "\n... and grant this app authorization");
System.out.println("Enter the PIN code and hit ENTER when you're done:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String pin = br.readLine();
System.out.println("Fetching access token from LinkedIn...");
provider.retrieveAccessToken(pin);
System.out.println("Access token: " + consumer.getToken());
System.out.println("Token secret: " + consumer.getTokenSecret());
URL url = new URL("http://api.linkedin.com/v1/people/~:(id,first-name,last-name,picture-url,headline)");
HttpURLConnection request = (HttpURLConnection) url.openConnection();
consumer.sign(request);
System.out.println("Sending request to LinkedIn...");
request.connect();
String responseBody = convertStreamToString(request.getInputStream());
System.out.println("Response: " + request.getResponseCode() + " "
+ request.getResponseMessage() + "\n\n" + responseBody);
}
// Stolen liberally from http://www.kodejava.org/examples/266.html
public static String convertStreamToString(InputStream is) {
/*
* To convert the InputStream to String we use the BufferedReader.readLine()
* method. We iterate until the BufferedReader return null which means
* there's no more data to read. Each line will appended to a StringBuilder
* and returned as String.
*/
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
}
catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
您好我已经为您发布了完整的代码。当我与linkedin连接时,我得到了用户的详细信息。这段代码完全是java脚本。
Hi i have post a complete code for you. i have a get details of user when i connect with linkedin. This code in totally java script.
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
api_key: ****************
authorize: true
onLoad: onLinkedInLoad
scope: r_basicprofile r_emailaddress r_fullprofile
</script>
<script type="text/javascript">
function onLinkedInLoad() {
IN.Event.on(IN, "auth", onLinkedInAuth);
}
function onLinkedInAuth() {
IN.API.Profile("me")
.fields("firstName", "lastName", "industry", "location:(name)", "picture-url", "headline", "summary", "num-connections", "public-profile-url", "distance", "positions", "email-address", "educations", "date-of-birth")
.result(displayProfiles)
.error(displayProfilesErrors);
}
function displayProfiles(profiles) {
member = profiles.values[0];
// alert(member.educations._total);
// your School Name alert(member.educations.values[0].schoolName);
// 2010 alert(member.educations.values[0].startDate.year);
// BCA alert(member.educations.values[1].degree);
// C.S.S University alert(member.educations.values[1].schoolName);
// Heigher Secondry alert(member.educations.values[2].degree);
// U.P.Board alert(member.educations.values[2].schoolName);
document.getElementById("lblName").innerHTML = member.firstName + " " + member.lastName + " Location is " + member.location.name;
document.getElementById("imgProfile").src = member.pictureUrl;
document.getElementById("lblEmail").innerHTML = member.emailAddress;
document.getElementById("lblProfile").innerHTML = member.publicProfileUrl;
document.getElementById("lblindustry").innerHTML = member.industry;
document.getElementById("lbleducations").innerHTML = member.educations;
document.getElementById("lblday").innerHTML = member.dateOfBirth.day;
document.getElementById("lblmonth").innerHTML = member.dateOfBirth.month;
document.getElementById("lblyear").innerHTML = member.dateOfBirth.year;
document.getElementById("lbltotal").innerHTML = member.educations._total;
document.getElementById("lbldegree").innerHTML = member.educations.values[0].degree;
document.getElementById("lbldate").innerHTML = member.educations.values[0].endDate.year;
document.getElementById("lblId").innerHTML = member.educations.values[0].id;
document.getElementById("lblschool").innerHTML = member.educations.values[0].startDate.year;
// member = profiles.values[1];
// document.getElementById("lbldateOfBirth1").value = member.dateOfBirth.day;
}
function displayProfilesErrors(error) {
profilesDiv = document.getElementById("profiles");
profilesDiv.innerHTML = error.message;
console.log(error);
}
</script>
对于任何查询都会留下评论。
For any query left the comment.
这篇关于使用java代码访问linkedin页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文