/** * * @param string $container_type * @param Request $request * @return Bridge_Api_Youtube_Container */ public function create_container($container_type, Request $request) { switch ($container_type) { case self::CONTAINER_TYPE_PLAYLIST: $container_desc = $request->get('f_container_description'); $container_title = $request->get('f_container_title'); $new_playlist = $this->_api->newPlaylistListEntry(); if (trim($container_desc) !== '') { $new_playlist->description = $this->_api->newDescription()->setText($container_desc); } $new_playlist->title = $this->_api->newTitle()->setText($container_title); $post_location = 'http://gdata.youtube.com/feeds/api/users/default/playlists'; $entry = $this->_api->insertEntry($new_playlist, $post_location); return new Bridge_Api_Youtube_Container($entry, $container_type, null); break; default: throw new Bridge_Exception_ElementUnknown('Unknown element ' . $container_type); break; } }
/** * Create a new playlist for the currently authenticated user * * @param string $playlistTitle Title of the new playlist * @param string $playlistDescription Description for the new playlist * @return void */ function createPlaylist($playlistTitle, $playlistDescription) { $httpClient = getAuthSubHttpClient(); $youTubeService = new Zend_Gdata_YouTube($httpClient); $feed = $youTubeService->getPlaylistListFeed('default'); if (loggingEnabled()) { logMessage($httpClient->getLastRequest(), 'request'); logMessage($httpClient->getLastResponse()->getBody(), 'response'); } $newPlaylist = $youTubeService->newPlaylistListEntry(); $newPlaylist->description = $youTubeService->newDescription()->setText($playlistDescription); $newPlaylist->title = $youTubeService->newTitle()->setText($playlistDescription); if (!$feed instanceof Zend_Gdata_YouTube_PlaylistListFeed) { print 'ERROR - Could not retrieve playlists<br />' . printCacheWarning(); return; } $playlistFeedUrl = 'http://gdata.youtube.com/feeds/users/default/playlists'; try { $updatedEntry = $youTubeService->insertEntry($newPlaylist, $playlistFeedUrl); if (loggingEnabled()) { logMessage($httpClient->getLastRequest(), 'request'); logMessage($httpClient->getLastResponse()->getBody(), 'response'); } } catch (Zend_Gdata_App_HttpException $httpException) { print 'ERROR ' . $httpException->getMessage() . ' HTTP details<br /><textarea cols="100" rows="20">' . $httpException->getRawResponseBody() . '</textarea><br />' . '<a href="session_details.php">' . 'click here to view details of last request</a><br />'; return; } catch (Zend_Gdata_App_Exception $e) { print 'ERROR - Could not create new playlist: ' . $e->getMessage(); return; } print 'Playlist added succesfully.<br /><a href="#" onclick="' . 'ytVideoApp.retrievePlaylists();"' . '">(refresh your playlist listing)</a><br />' . printCacheWarning(); }