Zend framework 如何使用zend oauth解决序列化/非序列化错误?

Zend framework 如何使用zend oauth解决序列化/非序列化错误?,zend-framework,oauth,linked-list,Zend Framework,Oauth,Linked List,使用zend oauth,我从linkedin获取令牌,并按照本文对其进行序列化 但是序列化的字符串有奇怪的字符,这意味着unserialize不起作用。还有其他方法吗?这里是一段代码片段。这并不漂亮,但是。。。是 啊它使用php Oauth插件运行,而不是Zend Oauth $oauth = new OAuth(PUBLIC_KEY, SECRET_KEY); $oauth->setTimestamp(time()); if (!isset($_SESSION['token']) &

使用zend oauth,我从linkedin获取令牌,并按照本文对其进行序列化


但是序列化的字符串有奇怪的字符,这意味着unserialize不起作用。还有其他方法吗?

这里是一段代码片段。这并不漂亮,但是。。。是 啊它使用php Oauth插件运行,而不是Zend Oauth

$oauth = new OAuth(PUBLIC_KEY, SECRET_KEY);
$oauth->setTimestamp(time());

if (!isset($_SESSION['token']) && $_SESSION['state'] != 1){
    $_SESSION['state'] = 1;
    $request_token_info = $oauth->getRequestToken("https://api.linkedin.com/uas/oauth/requestToken?oauth_callback=http://www.*******.com/this_script.php");
    $_SESSION['secret'] = $request_token_info['oauth_token_secret'];
    $_SESSION['key'] = $request_token_info['oauth_token'];
    header('Location: https://www.linkedin.com/uas/oauth/authorize?oauth_token=' . $request_token_info['oauth_token'] );
}
else if ($_SESSION['state'] == 1) {
    $oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
    $access_token_info = $oauth->getAccessToken('https://api.linkedin.com/uas/oauth/accessToken');
    $_SESSION['state'] = 2;
    $_SESSION['token'] = $access_token_info['oauth_token'];
    $_SESSION['secret'] = $access_token_info['oauth_token_secret'];
    $_REQUEST['action'] = 'lookup';
}

$oauth->setToken($_SESSION['token'],$_SESSION['secret']);
$oauth->fetch("http://api.linkedin.com/v1/people/~:(summary,educations,positions)", null, GET);//:(educations,positions,summary)", null, GET);

$xmlresult = $oauth->getLastResponse();

下面是一段代码片段。这并不漂亮,但是。。。是 啊它使用php Oauth插件运行,而不是Zend Oauth

$oauth = new OAuth(PUBLIC_KEY, SECRET_KEY);
$oauth->setTimestamp(time());

if (!isset($_SESSION['token']) && $_SESSION['state'] != 1){
    $_SESSION['state'] = 1;
    $request_token_info = $oauth->getRequestToken("https://api.linkedin.com/uas/oauth/requestToken?oauth_callback=http://www.*******.com/this_script.php");
    $_SESSION['secret'] = $request_token_info['oauth_token_secret'];
    $_SESSION['key'] = $request_token_info['oauth_token'];
    header('Location: https://www.linkedin.com/uas/oauth/authorize?oauth_token=' . $request_token_info['oauth_token'] );
}
else if ($_SESSION['state'] == 1) {
    $oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
    $access_token_info = $oauth->getAccessToken('https://api.linkedin.com/uas/oauth/accessToken');
    $_SESSION['state'] = 2;
    $_SESSION['token'] = $access_token_info['oauth_token'];
    $_SESSION['secret'] = $access_token_info['oauth_token_secret'];
    $_REQUEST['action'] = 'lookup';
}

$oauth->setToken($_SESSION['token'],$_SESSION['secret']);
$oauth->fetch("http://api.linkedin.com/v1/people/~:(summary,educations,positions)", null, GET);//:(educations,positions,summary)", null, GET);

$xmlresult = $oauth->getLastResponse();

老实说,我不知道为什么这个示例要序列化/取消序列化令牌。我构建了一个linkedin oauth实现,只是将令牌正常地存储在会话中。好的,您在什么地方有这样的示例吗?您正在序列化,以便可以将其放入会话中?md5哈希在这种情况下会更好。md5哈希不容易可逆…结合base64_encode/Decode老实说,我不知道为什么这个示例要序列化/取消序列化令牌。我构建了一个linkedin oauth实现,只是将令牌正常地存储在会话中。好的,您在什么地方有这样的示例吗?您正在序列化,以便可以将其放入会话中?md5哈希在这种情况下会更好。md5哈希不容易可逆…结合base64_编码/解码谢谢,但我必须使用zend:即使zend的教程也使用serialize方法谢谢,但我必须使用zend:即使zend的教程也使用serialize方法