/** * @param $snapchat Snapchat * @param $payload SendMediaPayload */ public function __construct($snapchat, $payload) { parent::__construct($snapchat); $this->payload = $payload; $this->addParam("time", $payload->time); $this->addParam("media_id", $payload->media_id); $this->addParam("zipped", $payload->zipped); $this->addParam("camera_front_facing", "0"); $this->addParam("orientation", self::ORIENTATION_PORTRAIT); $this->addParam("features_map", "{}"); if (!empty($payload->recipients)) { $this->addParam("recipients", json_encode($payload->recipients)); } if (!empty($payload->recipient_ids)) { $this->addParam("recipient_ids", json_encode($payload->recipient_ids)); } if ($payload->set_as_story) { $this->addParam("shared_ids", "{}"); $this->addParam("caption_text_display", ""); $this->addParam("client_id", $payload->media_id); $this->addParam("my_story", "true"); $this->addParam("type", $payload->type); $this->addParam("story_timestamp", RequestUtil::getCurrentMillis() / 1000); //todo: Support Video Thumbnails //$this->addFile("thumbnail_data", new RequestFile($this->payload->file_thumbnail, "application/octet-stream", "thumbnail_data")); } }
/** * @return object * @throws \Exception */ public function execute() { $friend_stories = array(); $friend_stories[] = array("id" => $this->storyId, "screenshot_count" => $this->screenshot ? "1" : "0", "timestamp" => RequestUtil::getCurrentMillis()); $this->addParam("friend_stories", json_encode($friend_stories)); return parent::execute(); }
/** * @param $file string File to Upload * @param $type int Media Type * @return UploadMediaPayload * @throws \Exception */ private function uploadMedia($file, $type) { if (!$this->isLoggedIn()) { throw new \Exception("You must be logged in to call uploadMedia()."); } $payload = new UploadMediaPayload(); $payload->file = $file; $payload->type = $type; $payload->media_id = RequestUtil::generateMediaID($this->getUsername()); $request = new UploadMediaRequest($this, $payload); return $request->execute(); }
/** * @param $snapchat Snapchat * @param $username string */ public function __construct($snapchat, $username) { parent::__construct($snapchat); $this->addParam("features_map", "{}"); $this->addParam("conversation_id", RequestUtil::getConversationID($this->snapchat->getUsername(), $username)); }