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
}
'401'手段を動作します[無許可](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)であり、 'ssl required 'はサーバーページが' https'セキュア接続を提供しなければならないことを意味します。ここ数年、linkedin、Googleなどの企業は、自分のサーバーとサーバーの間に 'https'接続を必要とすることが非常に一般的です。 – Tpojka
ヘルプのためのThakns @Tpojka。あなたが言ったように、 'CURLOPT_URL => 'http:// api.linkedin.com/v1/people /〜' '行を' CURLOPT_URL =>' https://api.linkedin.com/v1/peopleに変更しました/〜?format = json''と動作します。 –