Пример #1
0
 public function testAddAndDeleteSubscriptionToPlaylistV2()
 {
     $service = YouTube::AUTH_SERVICE_NAME;
     $authenticationURL = 'https://www.google.com/youtube/accounts/ClientLogin';
     $httpClient = ClientLogin::getHttpClient($this->user, $this->pass, $service, null, 'Google-UnitTests-1.0', null, null, $authenticationURL);
     $yt = new YouTube($httpClient, 'Google-UnitTests-1.0', 'ytapi-gdataops-12345-u78960r7-0', 'AI39si6c-ZMGFZ5fkDAEJoCNHP9LOM2LSO1XuycZF7E' . 'yu1IuvkioESqzRcf3voDLymIUGIrxdMx2aTufdbf5D7E51NyLYyfeaw');
     $yt->setMajorProtocolVersion(2);
     $playlistIdToSubscribeTo = '7A2BB4AFFEBED2A4';
     // Test for deletion first in case something went wrong
     // last time the test was run (network, etc...)
     $subscriptionFeed = $yt->getSubscriptionFeed($this->ytAccount);
     $successDeletionUpFront = true;
     $message = null;
     foreach ($subscriptionFeed as $subscriptionEntry) {
         $subscriptionType = null;
         $categories = $subscriptionEntry->getCategory();
         // examine the correct category element since there are multiple
         foreach ($categories as $category) {
             if ($category->getScheme() == 'http://gdata.youtube.com/schemas/2007/' . 'subscriptiontypes.cat') {
                 $subscriptionType = $category->getTerm();
             }
         }
         if ($subscriptionType == 'playlist') {
             if ($subscriptionEntry->getPlaylistId()->text == $playlistIdToSubscribeTo) {
                 try {
                     $subscriptionEntry->delete();
                 } catch (App\Exception $e) {
                     $message = $e->getMessage();
                     $successDeletionUpFront = false;
                 }
             }
         }
     }
     $this->assertTrue($successDeletionUpFront, 'Found existing ' . 'subscription in unit test, could not delete prior to running ' . 'test -- ' . $message);
     // Playlist of McGyver videos
     $newSubscription = $yt->newSubscriptionEntry();
     $newSubscription->setMajorProtocolVersion(2);
     $newSubscription->category = array($yt->newCategory('playlist', $this->subscriptionTypeSchema));
     $newSubscription->setPlaylistId($yt->newPlaylistId($playlistIdToSubscribeTo));
     $postUrl = 'https://gdata.youtube.com/feeds/api/users/default/subscriptions';
     $successPosting = true;
     $message = null;
     $insertedSubscription = null;
     try {
         $insertedSubscription = $yt->insertEntry($newSubscription, $postUrl, '\\ZendGData\\YouTube\\SubscriptionEntry');
     } catch (App\Exception $e) {
         $message = $e->getMessage();
         $successPosting = false;
     }
     $this->assertTrue($successPosting, $message);
     // Delete it
     $successDeletion = true;
     $message = null;
     try {
         $insertedSubscription->delete();
     } catch (App\Exception $e) {
         $message = $e->getMessage();
         $successDeletion = false;
     }
     $this->assertTrue($successDeletion, $message);
 }