0

以下のコードは、PHP CodeIgniter を介した LInkedIn API への接続を扱っており、国際化を追加して URL を変更し、リダイレクトを追加するまで、長い間うまく機能していました。

/en/ 言語セグメントを除いて変更されないように URL を修正しました。

LinkedIn で認証した後も未定義のインデックス エラーが発生しますが、ブラウザーのリンクに変数が表示されます。

$_REQUEST が URL にあるときに oauth_token または oauth_verifier のいずれかを「参照」しない理由がわかりません。

最初のエラー: 未定義のインデックス: oauth_verifier

リンク:

http://www.youinapage.com/en/linklogin/get_resume_linkedin?oauth_token=e68974fc-5ba9-41d8-bc2f-9b33a5e59961&oauth_verifier=07539

コードサンプル:

    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']);
   }
4

1 に答える 1

0

問題は $_REQUEST ではなく $_SESSION にあると思います。

エラー出力を注意深く見ると、最初のエラーがオンになっていると表示されます

$_SESSION['requestToken']

そして実際、エンジンも故障します

$_SESSION['oauth_verifier']

理由は不明ですが、それは確かに別の問題を意味します(私は思う)

Rgds。

于 2012-05-16T20:14:08.890 に答える