【发布时间】:2010-08-27 08:21:44
【问题描述】:
我使用 Zend Oauth 将我的应用程序连接到 Twitter,如下所述: http://framework.zend.com/manual/en/zend.oauth.introduction.html
它可以完美地保存 Twitter 请求令牌和 Twitter 像这样使用序列化和反序列化的会话中的访问令牌 (略):
1: $consumer = new Zend_Oauth_Consumer($config);
2: $token = $consumer->getRequestToken();
3: $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token); //write Request Token
...和...
4: $consumer = new Zend_Oauth_Consumer($config);
5: $token = $consumer->getAccessToken($_GET,
unserialize($_SESSION['TWITTER_REQUEST_TOKEN']));
6: $_SESSION['TWITTER_ACCESS_TOKEN'] = serialize($token); //write Access Token
...和...
7: $token = unserialize($_SESSION['TWITTER_ACCESS_TOKEN']);
8: $client = $token->getHttpClient($configuration);
现在我想在第 6 行之后将访问令牌保存在我的 mySQL 数据库中。 问题是,只要我这样做,数据库中的条目就会包含 像这样的奇怪字符:
O:23:"Zend_Oauth_Token_Access"?:{s:10:"�*�_params";a:4:{s:11:"oauth_token";s:50:"64658798-xOvsSyC83P2lhZRVvvaQLQddaifKO2qmN2KL91eaI";s:18:"oauth_token_secret";s:42:"R4nBLeWhNRXleKsN6H3crubYd2FEmfHFRtLbEh8gos";s:7:"user_id";s:8:"64658798";s:11:"screen_name";s:13:"MyTwitterAccount";}}
这会导致第 7 行中的通知(280 字节的偏移 30 处出错) 第 8 行出现致命错误,因为 $token 是非对象。 所以我试图找出错误并已经将问题发布在 Zend 论坛,但没有人可以帮助我... 我最好的猜测是这是一个编码错误。数据库和我所有的 文档在 utf-8 中正确编码,但我从来没有 以前有这样的问题... 第 3 行中的 var_dump($token) 告诉我已经有密码 那里的字符。摘录如下:
"Accept-Encoding" ["Content-encoding"]=> string(4) "gzip" ["Content-length"]=> string(3) "146" ["Connection"]=> string(5) "close" } ["body":protected]=> string(146) "�������E˹� ��п��J;80���4(,9��� ��.M��ؖ�"K���H���Q��a|;W����d2��.�Je�-���-y.���3��〺 object(Zend_Oauth_Http_Utility)#89 (0)
内容编码 gzip 有问题吗?或者是问题引起的 Zend 和 getRequestToken() 方法? 非常感谢任何帮助。 在此先感谢
【问题讨论】:
-
我遇到了同样的问题。你最后解决了吗?
标签: database zend-framework twitter oauth token