/** * * @param string $element_id * @return Zend_Gdata_YouTube_PlaylistListFeed */ protected function get_PlaylistEntry_from_Id($element_id) { foreach ($this->_api->getPlaylistListFeed('default') as $playlist_entry) { if ($element_id == $playlist_entry->getPlaylistId()->getText()) { return $playlist_entry; } } return null; }
/** * get playlists by a user * @param username * @return Zend_Gdata_YouTube_PlaylistListFeed */ public function getPlaylistsByUser($user, $page = 0) { /* @var $ytq Zend_Gdata_YouTube_VideoQuery */ $ytq = $this->yt->newVideoQuery(Zend_Gdata_YouTube::USER_URI . '/' . $user . '/playlists'); $page = $page * self::ITEMS_PER_PAGE; $ytq->setStartIndex($page == 0 ? $page : $page + 1); $ytq->setMaxResults(self::ITEMS_PER_PAGE); $ytq->setOrderBy('published'); return $this->yt->getPlaylistListFeed(null, $ytq); }
public function testAddUpdateAndDeletePlaylistV2() { $service = Zend_Gdata_YouTube::AUTH_SERVICE_NAME; $authenticationURL = 'https://www.google.com/youtube/accounts/ClientLogin'; $httpClient = Zend_Gdata_ClientLogin::getHttpClient($username = $this->user, $password = $this->pass, $service = $service, $client = null, $source = 'Google-UnitTests-1.0', $loginToken = null, $loginCaptcha = null, $authenticationURL); $yt = new Zend_Gdata_YouTube($httpClient, 'Google-UnitTests-1.0', 'ytapi-gdataops-12345-u78960r7-0', 'AI39si6c-ZMGFZ5fkDAEJoCNHP9LOM2LSO1XuycZF7E' . 'yu1IuvkioESqzRcf3voDLymIUGIrxdMx2aTufdbf5D7E51NyLYyfeaw'); $yt->setMajorProtocolVersion(2); $feed = $yt->getPlaylistListFeed($this->ytAccount); // Add new $newPlaylist = $yt->newPlaylistListEntry(); $newPlaylist->setMajorProtocolVersion(2); $titleString = $this->generateRandomString(10); $newPlaylist->title = $yt->newTitle()->setText($titleString); $newPlaylist->summary = $yt->newSummary()->setText('testing'); $postUrl = 'http://gdata.youtube.com/feeds/api/users/default/playlists'; $successfulInsertion = true; try { $yt->insertEntry($newPlaylist, $postUrl); } catch (Zend_Gdata_App_Exception $e) { $successfulInsertion = false; } $this->assertTrue($successfulInsertion, 'Failed to insert a new ' . 'playlist.'); $playlistListFeed = $yt->getPlaylistListFeed('default'); $playlistFound = false; $newPlaylistEntry = null; foreach ($playlistListFeed as $playlistListEntry) { if ($playlistListEntry->title->text == $titleString) { $playlistFound = true; $newPlaylistEntry = $playlistListEntry; break; } } $this->assertTrue($playlistFound, 'Could not find the newly inserted ' . 'playlist.'); // Update it $newTitle = $this->generateRandomString(10); $newPlaylistEntry->title->setText($newTitle); $updatedSuccesfully = true; try { $newPlaylistEntry->save(); } catch (Zend_Gdata_App_Exception $e) { $updatedSuccesfully = false; } $this->assertTrue($updatedSuccesfully, 'Could not succesfully update ' . 'a new playlist.'); // Delete it $deletedSuccesfully = true; try { $newPlaylistEntry->delete(); } catch (Zend_Gdata_App_Exception $e) { $deletedSuccesfully = false; } $this->assertTrue($deletedSuccesfully, 'Could not succesfully delete ' . 'a new playlist.'); }
/** * Delete a playlist * * @param string $newplaylistTitle New title for the playlist to be updated * @param string $newPlaylistDescription New description for the playlist to be updated * @param string $oldPlaylistTitle Title of the playlist to be updated * @return void */ function updatePlaylist($newPlaylistTitle, $newPlaylistDescription, $oldPlaylistTitle) { $httpClient = getAuthSubHttpClient(); $youTubeService = new Zend_Gdata_YouTube($httpClient); $feed = $youTubeService->getPlaylistListFeed('default'); if (loggingEnabled()) { logMessage($httpClient->getLastRequest(), 'request'); logMessage($httpClient->getLastResponse()->getBody(), 'response'); } $playlistEntryToDelete = null; foreach ($feed as $playlistEntry) { if ($playlistEntry->getTitleValue() == $oldplaylistTitle) { $playlistEntryToDelete = $playlistEntry; break; } } if (!$playlistEntryToDelete instanceof Zend_Gdata_YouTube_PlaylistListEntry) { print 'ERROR - Could not retrieve playlist to be updated<br />' . printCacheWarning(); return; } try { $response = $playlistEntryToDelete->delete(); 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 delete the playlist: ' . $e->getMessage(); return; } print 'Playlist deleted succesfully.<br /><a href="#" onclick="' . 'ytVideoApp.retrievePlaylists();"' . '">(refresh your playlist listing)</a><br />' . printCacheWarning(); }