以下のコードは、PHP CodeIgniter を介した LInkedIn API への接続を扱っており、国際化を追加して URL を変更し、リダイレクトを追加するまで、長い間うまく機能していました。
/en/ 言語セグメントを除いて変更されないように URL を修正しました。
LinkedIn で認証した後も未定義のインデックス エラーが発生しますが、ブラウザーのリンクに変数が表示されます。
$_REQUEST が URL にあるときに oauth_token または oauth_verifier のいずれかを「参照」しない理由がわかりません。
最初のエラー: 未定義のインデックス: oauth_verifier
リンク:
コードサンプル:
session_start();
$this->load->library('format');
$config['linkedin_access'] = "---";
$config['linkedin_secret'] = "---";
$config['base_url'] = site_url('linklogin/initiate/');
$config['callback_url'] = site_url('linklogin/get_resume_linkedin/');
# First step is to initialize with your consumer key and secret. We'll use an out-of-band oauth_callback
$linkedin = new LinkedIn($config['linkedin_access'], $config['linkedin_secret'], $config['callback_url'] );
//$linkedin->debug = true;
if (isset($_REQUEST['oauth_verifier'])){
$_SESSION['oauth_verifier'] = $_REQUEST['oauth_verifier'];
$linkedin->request_token = unserialize($_SESSION['requestToken']);
$linkedin->oauth_verifier = $_SESSION['oauth_verifier'];
$linkedin->getAccessToken($_REQUEST['oauth_verifier']);
$_SESSION['oauth_access_token'] = serialize($linkedin->access_token);
header("Location: " . $config['callback_url']);
exit;
}
else{
$linkedin->request_token = unserialize($_SESSION['requestToken']);
$linkedin->oauth_verifier = $_SESSION['oauth_verifier']; //GENERATE INITIAL ERROR
$linkedin->access_token = unserialize($_SESSION['oauth_access_token']);
}