예제 #1
0
 /**
  * Send a video message.
  *
  * Note: Either a Zend_Gdata_YouTube_VideoEntry or a valid video ID must
  * be provided.
  *
  * @param string $body The body of the message
  * @param YouTube\VideoEntry $videoEntry (optional) The video entry to send
  * @param string $videoId The id of the video to send
  * @param string $recipientUserName The username of the recipient
  * @throws \Zend\GData\App\InvalidArgumentException if no valid
  *         Zend_Gdata_YouTube_VideoEntry or videoId were provided
  * @return \Zend\GData\YouTube\InboxEntry|null The
  *         Zend_Gdata_YouTube_Inbox_Entry representing the sent message.
  *
  */
 public function sendVideoMessage($body, $videoEntry = null, $videoId = null, $recipientUserName)
 {
     if (!$videoId && !$videoEntry) {
         throw new App\InvalidArgumentException('Expecting either a valid videoID or a videoEntry object in ' . '\\Zend\\GData\\YouTube->sendVideoMessage().');
     }
     $messageEntry = new YouTube\InboxEntry();
     if ($this->getMajorProtocolVersion() == null || $this->getMajorProtocolVersion() == 1) {
         if (!$videoId) {
             $videoId = $videoEntry->getVideoId();
         } elseif (strlen($videoId) < 12) {
             //Append the full URI
             $videoId = self::VIDEO_URI . '/' . $videoId;
         }
         $messageEntry->setId($this->newId($videoId));
         // TODO there seems to be a bug where v1 inbox entries dont
         // retain their description...
         $messageEntry->setSummary(new App\Extension\Summary($body));
     } else {
         if (!$videoId) {
             $videoId = $videoEntry->getVideoId();
             $videoId = substr($videoId, strrpos($videoId, ':'));
         }
         $messageEntry->setId($this->newId($videoId));
         $messageEntry->setSummary($this->newSummary($body));
     }
     $insertUrl = 'https://gdata.youtube.com/feeds/api/users/' . $recipientUserName . '/inbox';
     $response = $this->insertEntry($messageEntry, $insertUrl, '\\Zend\\GData\\YouTube\\InboxEntry');
     return $response;
 }
예제 #2
0
 public function testConvertInboxEntryToAndFromString()
 {
     $this->entry->transferFromXML($this->entryText);
     $entryXml = $this->entry->saveXML();
     $newInboxEntry = new YouTube\InboxEntry();
     $newInboxEntry->transferFromXML($entryXml);
     $this->verifyAllSamplePropertiesAreCorrect($newInboxEntry);
     $newInboxEntryXml = $newInboxEntry->saveXML();
     $this->assertEquals($entryXml, $newInboxEntryXml);
 }
예제 #3
0
 public function testSamplePropertiesAreCorrectV2()
 {
     $this->entry->setMajorProtocolVersion(2);
     $this->entry->transferFromXML($this->v2entryText);
     $this->verifyAllSamplePropertiesAreCorrectV2($this->entry);
 }