使用java代码访问linkedin页面 [英] Accessing the linkedin page using java code

查看:89
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆