function friend($channel) { $username = $_SESSION['username']; $query = "select token from user where username='******'"; $result = mysql_query($query); $row = mysql_fetch_array($result); $token = $row['token']; $httpClient = Zend_Gdata_AuthSub::getHttpClient($token); $developerKey = 'AI39si5uCFW5FETweIaPnbNJUP88YvpOtSoy7FSUnYnTFVH4liFKzqWTkndATtgiltByN54tPcVjsScyh3S28P-D4PC4n73alg'; $applicationId = 'EazySubs'; $clientId = 'EazySubs'; $yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $developerKey); $contactFeedUrl = 'http://gdata.youtube.com/feeds/api/users/default/contacts'; $newContact = $yt->newContactEntry(); $newContact->username = $yt->newUsername($channel); $newContact->category = array($yt->newCategory('Friends', 'http://gdata.youtube.com/schemas/2007/contact.cat')); // post try { $yt->insertEntry($newContact, $contactFeedUrl); return true; } catch (Exception $e) { return false; } }
public function testAddAndDeleteSubscriptionToFavoritesV2() { $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); $usernameOfFavoritesToSubscribeTo = 'CBS'; // 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 == 'favorites') { if ($subscriptionEntry->getUsername()->text == $usernameOfFavoritesToSubscribeTo) { try { $subscriptionEntry->delete(); } catch (Zend_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); // CBS's favorites $newSubscription = $yt->newSubscriptionEntry(); $newSubscription->category = array($yt->newCategory('favorites', $this->subscriptionTypeSchema)); $newSubscription->setUsername($yt->newUsername($usernameOfFavoritesToSubscribeTo)); $postUrl = 'http://gdata.youtube.com/feeds/api/users/default/subscriptions'; $successPosting = true; $message = null; $insertedSubscription = null; try { $insertedSubscription = $yt->insertEntry($newSubscription, $postUrl, 'Zend_Gdata_YouTube_SubscriptionEntry'); } catch (Zend_App_Exception $e) { $message = $e->getMessage(); $successPosting = false; } $this->assertTrue($successPosting, $message); // Delete it $successDeletion = true; $message = null; try { $insertedSubscription->delete(); } catch (Zend_App_Exception $e) { $message = $e->getMessage(); $successDeletion = false; } $this->assertTrue($successDeletion, $message); }