Zend framework 如何格式化序列化Zend_服务_Twitter响应

Zend framework 如何格式化序列化Zend_服务_Twitter响应,zend-framework,twitter,twitter-oauth,Zend Framework,Twitter,Twitter Oauth,当我使用OAuth将应用程序连接到twitter帐户时,我将访问令牌和用户数据放入我的数据库中,如下所示: $this->consumer = new Zend_Oauth_Consumer($this->configTwitter); if(!empty($_GET) && isset($_SESSION['TWITTER_REQUEST_TOKEN'])) { $token = $this->consumer->get

当我使用OAuth将应用程序连接到twitter帐户时,我将访问令牌和用户数据放入我的数据库中,如下所示:

$this->consumer = new Zend_Oauth_Consumer($this->configTwitter);

    if(!empty($_GET) && isset($_SESSION['TWITTER_REQUEST_TOKEN']))
    {
        $token = $this->consumer->getAccessToken($_GET, unserialize($_SESSION['TWITTER_REQUEST_TOKEN']));
        // Get user info
        $twitter = new Zend_Service_Twitter(array(
            'username' => $token->screen_name,
            'accessToken' => $token,
            'callbackUrl' => $this->_getParam('SettingsWebsiteUrl').'/news/index/connecttwitter',
            'consumerKey' => 'XXXXXX',
            'consumerSecret' => 'XXXXXXX'
         ));
        $response = $twitter->account->verifyCredentials();
        // place in database
        $this->NewsService->TokenSocialMedia(
            $token,
            'twitter',
            serialize($response)
        );
        $_SESSION['TWITTER_REQUEST_TOKEN'] = null;
        $this->_helper->flashMessenger(array('message' => $this->view->translate('The CMS is successfully connected to your twitter account'), 'status' => 'success'));
        $this->_helper->redirector('settings', 'index');
    }
    else
    {
        $token = $this->consumer->getRequestToken();
        $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
        $this->consumer->redirect();
    }
这个很好用。响应如下所示,我不知道如何格式化它并将其显示给用户。我唯一想要的是存储twitter id、twitter名称而不是屏幕名称和图像url

O:23:"Zend_Rest_Client_Result":2:{s:8:"�*�_sxml";O:16:"SimpleXMLElement":34:{s:2:"id";s:9:"150638034";s:4:"name";s:20:"De Graaf & Partners ";s:11:"screen_name";s:15:"GraafenPartners";s:8:"location";s:9:"Culemborg";s:11:"description";s:34:"Full service communications agency";s:17:"profile_image_url";s:78:"http://a2.twimg.com/profile_images/1191111069/Logo_DG_P-CMYK_Square_normal.jpg";s:3:"url";s:31:"http://www.degraafenpartners.nl";s:9:"protected";s:5:"false";s:15:"followers_count";s:1:"0";s:24:"profile_background_color";s:6:"C0DEED";s:18:"profile_text_color";s:6:"333333";s:18:"profile_link_color";s:6:"0084B4";s:26:"profile_sidebar_fill_color";s:6:"DDEEF6";s:28:"profile_sidebar_border_color";s:6:"C0DEED";s:13:"friends_count";s:1:"0";s:10:"created_at";s:30:"Tue Jun 01 12:47:51 +0000 2010";s:16:"favourites_count";s:1:"0";s:10:"utc_offset";s:4:"3600";s:9:"time_zone";s:9:"Amsterdam";s:28:"profile_background_image_url";s:60:"http://a3.twimg.com/a/1296525272/images/themes/theme1/bg.png";s:23:"profile_background_tile";s:5:"false";s:28:"profile_use_background_image";s:4:"true";s:13:"notifications";s:5:"false";s:11:"geo_enabled";s:4:"true";s:8:"verified";s:5:"false";s:9:"following";s:5:"false";s:14:"statuses_count";s:1:"6";s:4:"lang";s:2:"en";s:20:"contributors_enabled";s:5:"false";s:19:"follow_request_sent";s:5:"false";s:12:"listed_count";s:1:"0";s:21:"show_all_inline_media";s:5:"false";s:13:"is_translator";s:5:"false";s:6:"status";O:16:"SimpleXMLElement":15:{s:10:"created_at";s:30:"Mon Jan 03 08:41:11 +0000 2011";s:2:"id";s:17:"21848534684794880";s:4:"text";s:53:"De Graaf & Partners wenst iedereen een creatief 2011!";s:6:"source";s:3:"web";s:9:"truncated";s:5:"false";s:9:"favorited";s:5:"false";s:21:"in_reply_to_status_id";O:16:"SimpleXMLElement":0:{}s:19:"in_reply_to_user_id";O:16:"SimpleXMLElement":0:{}s:23:"in_reply_to_screen_name";O:16:"SimpleXMLElement":0:{}s:13:"retweet_count";s:1:"0";s:9:"retweeted";s:5:"false";s:3:"geo";O:16:"SimpleXMLElement":0:{}s:11:"coordinates";O:16:"SimpleXMLElement":0:{}s:5:"place";O:16:"SimpleXMLElement":0:{}s:12:"contributors";O:16:"SimpleXMLElement":0:{}}}s:10:"�*�_errstr";N;}

我需要如何格式化数据,或者如何更好地存储数据?

如果您只想存储他们的图像url,那么您只需要他们的用户名,然后使用以下方法:

http://img.tweetimag.es/i/oprah_o
其中,oprah_o是用户名

您不需要使用OAuth和Zend_Service_Twitter来实现这一点。如果你想从一个非公开的feed获取数据,或者将推文发布到他们的账户,那你就需要Zend_Service_Twitter

如果要从该结果集获取数据,只需执行以下操作:

$result_obj = unserialize($token);

由于Zend_Sevice_Twitter是在Zend_Rest上构建的,因此您可能会在那里找到更多关于如何处理结果的信息:也在那里查看,找不到,或者我不明白……我只是将屏幕名称存储在数据库中,而不是完整的响应。使用您提供的url,我可以显示帐户图像和屏幕名称。我不需要更多的信息。