에 의해 반환 된 레코드의 수를 제어 할 수있는 것은 작동 linkedIn documentation에서 간단한 쿼리입니다. 그러나 그 순간 나는 다음과 같은 매개 변수를 수를 연결하고 시작합니다나는 링크드 인 API를 여기
이class Auth extends CI_Controller {
function __construct() {
parent:: __construct();
$this->load->library('linkedin'); // load library
session_name('linkedin');
session_start();
}
// linkedin login script
function index() {
// OAuth 2 Control Flow
if (isset($_GET['error'])) {
// LinkedIn returned an error
// load any error view here
exit;
} elseif (isset($_GET['code'])) {
// User authorized your application
if ($_SESSION['state'] == $_GET['state']) {
// Get token so you can make API calls
$this->linkedin->getAccessToken();
} else {
// CSRF attack? Or did you mix up your states?
exit;
}
} else {
if ((empty($_SESSION['expires_at'])) || (time() > $_SESSION['expires_at'])) {
// Token has expired, clear the state
$_SESSION = array();
}
if (empty($_SESSION['access_token'])) {
// Start authorization process
$this->linkedin->getAuthorizationCode();
}
}
// this is where I am fetching linkedIn data
$groupData = $this->linkedin->fetch('GET', "/v1/groups/{id}/posts?count=20&start=0");
// this is where I am sending the data to the idea model to be saved
if ($groupData) {
var_dump($groupData); exit();
// foreach ($groupData->values as $data) {
// var_dump($data->creator->firstName); exit();
// }
$this->load->model('idea_model');
$this->idea_model->store_ideas($groupData);
} else {
// linked return an empty array of profile data
}
}
}
링크드 라이브러리가 있습니다 :
여기A PHP Error was encountered
Severity: Warning
Message: file_get_contents(https://api.linkedin.com/v1/groups/{id}/posts&count=20&start=0?oauth2_access_token=xxxxx8&format=json): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request
Filename: libraries/Linkedin.php
Line Number: 85
내 전체 코드입니다 :
$groupData = $this->linkedin->fetch('GET', "/v1/groups/{id}/posts?count=20&start=0");
나는이 오류 해당 설명서에 linkedIn에서 제공 한 코드 샘플 :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* CodeIgniter Linked API Class
*
*
* @package CodeIgniter
* @subpackage Libraries
* @category Libraries
* @author Muhamamd Hafeez
*/
class Linkedin {
function __construct(){
}
public function getAuthorizationCode() {
$params = array('response_type' => 'code',
'client_id' => API_KEY,
'scope' => SCOPE,
'state' => uniqid('', true), // unique long string
'redirect_uri' => REDIRECT_URI,
);
// Authentication request
$url = 'https://www.linkedin.com/uas/oauth2/authorization?' . http_build_query($params);
// Needed to identify request when it returns to us
$_SESSION['state'] = $params['state'];
// Redirect user to authenticate
header("Location: $url");
exit;
}
public function getAccessToken() {
$params = array('grant_type' => 'authorization_code',
'client_id' => API_KEY,
'client_secret' => API_SECRET,
'code' => $_GET['code'],
'redirect_uri' => REDIRECT_URI,
);
// Access Token request
$url = 'https://www.linkedin.com/uas/oauth2/accessToken?' . http_build_query($params);
// Tell streams to make a POST request
$context = stream_context_create(
array('http' =>
array('method' => 'POST',
)
)
);
// Retrieve access token information
$response = file_get_contents($url, false, $context);
// Native PHP object, please
$token = json_decode($response);
// Store access token and expiration time
$_SESSION['access_token'] = $token->access_token; // guard this!
$_SESSION['expires_in'] = $token->expires_in; // relative time (in seconds)
$_SESSION['expires_at'] = time() + $_SESSION['expires_in']; // absolute time
return true;
}
public function fetch($method, $resource, $body = '') {
$params = array('oauth2_access_token' => $_SESSION['access_token'],
'format' => 'json',
);
// Need to use HTTPS
$url = 'https://api.linkedin.com' . $resource . '?' . http_build_query($params);
// Tell streams to make a (GET, POST, PUT, or DELETE) request
$context = stream_context_create(
array('http' =>
array('method' => $method,
)
)
);
// Hocus Pocus
$response = file_get_contents($url, false, $context);
// Native PHP object, please
return json_decode($response);
}
}
/* End of file Linked.php */
/* Location: ./application/libraries/linkedin.php */
제발 도와주세요. 내가 도대체 뭘 잘못하고있는 겁니까?
(!) 참고 : 나는 선택
$params
매개 변수를 사용하는fetch
방법을 변경할 것입니다 당신이 세션을 사용하고 있기 때문에, 내가 언급을 볼 ['으로 session_start() ;]] (http://www.php.net/session_start) --- 세션을 포함시키지 않았다면 세션이 작동해야합니다. –'session_start();'가 포함되었습니다 - 이것을 반영하도록 코드를 업데이트합니다 –
당신이 게시 한 오류가''/ v1/groups/{id}/posts & count = 20 & start =/v1/groups/{id}/posts? count = 20 & start = 0 "'(? 대신주의하십시오)를 두 번째 매개 변수로 사용하십시오. –