2016-11-21 5 views
0

linkeninでカウント取得しようとしたときにエラーを取得すると、ここに私のコントローラは、接続が

<?php 

class Linkedin extends CI_Controller 
{ 
public function __construct() 
{ 
    parent::__construct(); 
} 

public function login() 
{ 
    redirect('https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=client_id&redirect_uri=domain'); 
} 

public function index() 
{  
    $state = $_GET['state']; 
    if($state == '987654321') 
    { 
     $authorization_code = $_GET['code']; 
     // Initiating curl 
     $curl = curl_init(); 
     // Here we exchanging 'authorization code' to access token 
     // Access token is used to get userdetails 
     curl_setopt_array($curl, array(
      CURLOPT_HTTPHEADER  => array('Content-Type: application/x-www-form-urlencoded'), 
      CURLOPT_RETURNTRANSFER => 1, 
      CURLOPT_URL    => 'https://www.linkedin.com/oauth/v2/accessToken?grant_type=authorization_code&code='.$authorization_code.'&client_id=client_id&client_secret=app_secret&redirect_uri=domain', 
      CURLOPT_USERAGENT  => 'To get access token', 
      CURLOPT_POST   => 1, 
      CURLOPT_POSTFIELDS  => array() 
     )); 
     // Send the request & save response to $resp 
     $response = curl_exec($curl); 
     $response = json_decode($response); 
     curl_close($curl);   
    } 
    $curl_req = curl_init(); 
     curl_setopt_array($curl_req, array(
      CURLOPT_HTTPHEADER  => array('Connection : Keep-Alive','Authorization: Bearer '.$response->access_token.''), 
      CURLOPT_RETURNTRANSFER => 1, 
      CURLOPT_URL    => 'http://api.linkedin.com/v1/people/~', 
      CURLOPT_USERAGENT  => 'user details', 
     )); 

     $resp = curl_exec($curl_req); 
     echo $resp; 

     curl_close($curl_req); 
} 
} 

私はソースlinkedin docsからこれをしなかったです。まあ、すべては私がちょうどCURLOPT_URL => 'https://api.linkedin.com/v1/people/~?format=json'にラインCURLOPT_URL => 'http://api.linkedin.com/v1/people/~'を変更

{ 
    "errorCode": 0, 
    "message": "ssl required", 
    "requestId": "HLDS2BCBW4", 
    "status": 401, 
    "timestamp": 1479715273015 
} 
+0

'401'手段を動作します[無許可](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)であり、 'ssl required 'はサーバーページが' https'セキュア接続を提供しなければならないことを意味します。ここ数年、linkedin、Googleなどの企業は、自分のサーバーとサーバーの間に 'https'接続を必要とすることが非常に一般的です。 – Tpojka

+1

ヘルプのためのThakns @Tpojka。あなたが言ったように、 'CURLOPT_URL => 'http:// api.linkedin.com/v1/people /〜' '行を' CURLOPT_URL =>' https://api.linkedin.com/v1/peopleに変更しました/〜?format = json''と動作します。 –

答えて

0

ログイン後にしようとしたときに、それはエラーを返し、ユーザープロファイルの詳細情報を取得することはできませんget_detailsのfunction.I除いて正常に動作ようで、それが