/** * * Edit User Profile * * @param string $firstname First Name * @param string $email Email * @param string $phoneNumber Phone Number * @param int $gender Gender (Constants available in User class) * @param string $biography Biography * @param string $externalUrl External Url * @return API\Response\EditProfileAccountResponse * @throws Exception */ public function editUserProfile($firstname = null, $email = null, $phoneNumber = null, $gender = null, $biography = null, $externalUrl = null) { if (!$this->isLoggedIn()) { throw new InstagramException("You must be logged in to call editUserProfile()."); } $currentUser = $this->getCurrentUserAccount()->getUser(); if ($firstname == null) { $firstname = $currentUser->getFullName(); } if ($email == null) { $email = $currentUser->getEmail(); } if ($phoneNumber == null) { $phoneNumber = $currentUser->getPhoneNumber(); } if ($gender == null) { $gender = $currentUser->getGender(); } if ($biography == null) { $biography = $currentUser->getBiography(); } if ($externalUrl == null) { $externalUrl = $currentUser->getExternalUrl(); } $request = new EditProfileAccountRequest($this, $firstname, $email, $phoneNumber, $gender, $biography, $externalUrl); $response = $request->execute(); if (!$response->isOk()) { throw new InstagramException(sprintf("Failed to editUserProfile: [%s] %s", $response->getStatus(), $response->getMessage())); } return $response; }