コード例 #1
0
ファイル: Youtube.php プロジェクト: nlegoff/Phraseanet
 /**
  *
  * @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;
     }
 }
コード例 #2
0
/**
 * 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();
}