0

下面的代码处理通过 PHP CodeIgniter 连接到 LInkedIn API 并运行了很长时间,直到我添加了更改 URL 和添加重定向的国际化。

我修复了 URL,因此除了 /en/ 语言段之外它们没有变化。

在 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 回答