[SOLVED] PHP Fatal error: Call to undefined method Zend_Http_Client::setRawDataStream() in /path/Zend/Gdata/App.php on line X

I am trying to use Zend Gdata Library for uploading videos to YouTube. I was trying to test the example provided, but got into a problem running the example. Here was the error:

PHP Fatal error: Call to undefined method Zend_Http_Client::setRawDataStream() in /usr/share/php/Zend/Gdata/App.php on line 661

It was because I had missed the part where I should have sent a Zend_Gdata_HttpClient() object while initializing Zend_Gdata_YouTube() object.

So, here is how I created Zend_Gdata_HttpClient() object and passed it to Zend_Gdata_YouTube() constructor. Also, video upload requires developer key which you can get from Google and username/password.

		require_once('Zend/Loader.php'); // the Zend dir must be in your include_path
 
		$authenticationURL= 'https://www.google.com/accounts/ClientLogin';
		Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
		$httpclient = Zend_Gdata_ClientLogin::getHttpClient(
			              $username = $user,
			              $password = $pass,
			              $service = 'youtube',
			              $client = null,
			              $source = 'An App Name', // a short string identifying your application
			              $loginToken = null,
			              $loginCaptcha = null,
			              $authenticationURL
			           );
 
		Zend_Loader::loadClass('Zend_Gdata_YouTube');
		$yt = new Zend_Gdata_YouTube($httpclient,"An App Name","Version something or some desc","API-KEY");

Hope this helps.

If you enjoyed this post, make sure you subscribe to my RSS feed!
  • Viet Anh Tran

    thank u! ^,^

  • charlie

    thanx a lot!!

  • Jeremy

    Thanks a million. This finally worked.

    For anyone interested this is a link to the doc on getting the cClient Login : http://framework.zend.com/manual/1.11/en/zend.gdata.clientlogin.html