2013-03-06 54 views
0

如何在linkedin中完成验证后获取用户配置文件?我一直在搜索,发现一些教程,但他们都没有工作,或者我应该说我无法让他们工作。以下是我的控制器。如何使用codeigniter从链接中获取用户配置文件

function __construct(){ 
    parent::__construct(); 

    $this->config->load('linkedin'); 

    $this->data['consumer_key'] = $this->config->item('api_key'); 
    $this->data['consumer_secret'] = $this->config->item('secret_key'); 
    $this->data['callback_url'] = site_url() . 'main/linkedin_display'; 
} 

function linkedin_request(){ 

    $this->load->library('linkedin', $this -> data); 

    $token = $this->linkedin->get_request_token(); 

    $oauth_data = array(
     'oauth_request_token' => $token['oauth_token'], 
     'oauth_request_token_secret' => $token['oauth_token_secret'] 
     ); 

    $this->session->set_userdata($oauth_data); 

    $request_link = $this->linkedin->get_authorize_URL($token); 

    header("Location: " . $request_link); 

} 

function linkedin_display{ 

    // get user details(first name, email etc) here 

} 
+0

什么是您正在使用的linkedin库? – 2013-03-06 09:12:51

+0

[this one](https://github.com/MurrionSoftware/codeigniter-linkedin-library) – philip 2013-03-06 09:19:10

回答

2

以下函数添加到您的LinkedIn库,以获得数据

function getData($url, $access_token) 
{ 

    $request = OAuthRequest::from_consumer_and_token($this->consumer, $access_token, "GET", $url); 
    $request->sign_request($this->method, $this->consumer, $access_token); 
    $auth_header = $request->to_header("https://api.linkedin.com"); 

    $response = $this->httpRequest($shareUrl, $auth_header, "GET"); 

    return $response; 
} 

然后在你的控制器创建一个函数如下:

/** 
* Fetch linkedin profile 
*/ 
function myprofile() 
{ 
    $auth_data = $this->session->userdata('auth'); 

    $this->load->library('linkedin', $this->data); 

    $status_response = $this->linkedin->getData('http://api.linkedin.com/v1/people/~', unserialize($auth_data['linked_in'])); 


    print_r($status_response); 

} 

这应该为你工作。

+0

它需要多个参数。剩下的是什么? – philip 2013-03-07 01:10:44

+0

我做了一些研究,并改变了我的答案。请立即检查。 – 2013-03-09 08:13:27

+0

我试过你的代码,它说$ sharedUrl没有定义,所以我把它改成了$ url,因为在你的getData函数中params是'$ url,$ access_token'错误消失了,但是又出现了一个错误。它说'找不到人':〜'仍然使用搜索来解决这个错误,如果我发现解决方案将在这里发布。感谢你的努力帮助我。 – philip 2013-03-11 01:35:48

相关问题