function main() { $ms_key = CONSUMER_KEY; //we get this from config.MySpace.php $ms_secret = CONSUMER_SECRET; ob_start(); //starts output buffering session_start(); if (@$_GET['f'] == 'start') { // get a request token + secret from MySpace and redirect to the authorization page // $ms = new MySpace($ms_key, $ms_secret); $tok = $ms->getRequestToken("http://localhost/~babar/myspace/myspaceid-sdk/trunk/samples/myspaceid-oauth/index.php?f=callback"); /* if (!isset($tok['oauth_token']) || !is_string($tok['oauth_token']) || !isset($tok['oauth_token_secret']) || !is_string($tok['oauth_token_secret'])) { echo "ERROR! MySpace::getRequestToken() returned an invalid response. Giving up."; exit; } */ $_SESSION['auth_state'] = "start"; $_SESSION['request_token'] = $token = $tok['oauth_token']; $_SESSION['request_secret'] = $tok['oauth_token_secret']; $_SESSION['callback_confirmed'] = $tok['oauth_callback_confirmed']; header("Location: " . $ms->getAuthorizeURL($token)); } else { if (@$_GET['f'] == 'callback') { // the user has authorized us at MySpace, so now we can pick up our access token + secret // if (@$_SESSION['auth_state'] != "start") { echo "Out of sequence."; exit; } $oauth_verifier = @$_GET['oauth_verifier']; if (!isset($oauth_verifier)) { echo "ERROR! MySpace::getAccessToken() returned an invalid response. Giving up."; exit; } // if ($_GET['oauth_token'] != $_SESSION['request_token']) { // echo "Token mismatch."; // exit; // } $ms = new MySpace($ms_key, $ms_secret, $_SESSION['request_token'], $_SESSION['request_secret'], true, $oauth_verifier); $tok = $ms->getAccessToken(); if (!is_string($tok->key) || !is_string($tok->secret)) { error_log("Bad token from MySpace::getAccessToken(): " . var_export($tok, TRUE)); echo "ERROR! MySpace::getAccessToken() returned an invalid response. Giving up."; exit; } $_SESSION['access_token'] = $tok->key; $_SESSION['access_secret'] = $tok->secret; $_SESSION['auth_state'] = "done"; header("Location: " . $_SERVER['SCRIPT_NAME']); } else { if (@$_SESSION['auth_state'] == 'done') { // we have our access token + secret, so now we can actually *use* the api // $ms = new MySpace($ms_key, $ms_secret, $_SESSION['access_token'], $_SESSION['access_secret']); // First get the user id. $userid = $ms->getCurrentUserId(); // Use the userID (fetched in the previous step) to get user's profile, friends and other info $profile_data = $ms->getProfile($userid); displayProfileInfo($profile_data); $friends_data = $ms->getFriends($userid); displayFriendsInfo($friends_data); $albums = $ms->getAlbums($userid); $albumid = $albums->albums[0]->id; $albumInfo = $ms->getAlbumInfo($userid, $albumid); $album = $ms->getAlbum($userid, $albumid); $firstPhoto = $ms->getAlbumPhoto($userid, $albumid, $album->photos[0]->id); displayAlbum($albumInfo, $firstPhoto->imageUri); $friendStatus = $ms->getFriendsStatus($userid); displayObject($friendStatus, '$friendStatus'); $indicators = $ms->getIndicators($userid); displayObject($indicators, '$indicators'); $statusHistory = $ms->getStatusHistory($userid); displayObject($statusHistory, '$statusHistory'); //$ms->updateStatus($userid, 'Updating from php sdk'); // Test put and get app data $ms->putAppData($userid, array('location' => 'usa', 'interests' => 'tennis, golf', 'age' => '21')); $appData = $ms->getAppData($userid, 'interests;location'); displayObject($appData, '$appData for interests and location only'); $appData = $ms->getAppData($userid); displayObject($appData, '$appData for all parameters'); // Test clear app data $ms->clearAppData($userid, 'location;age'); sleep(3); $appData = $ms->getAppData($userid); displayObject($appData, '$appData after clearing'); // Test get friends' app data $appData = $ms->getUserFriendsAppData($userid); displayObject($appData, '$appData for friends'); // Test Poco get user $pocoPerson = $ms->getPersonPoco('movies'); displayObject($pocoPerson, '$pocoPerson'); // Test Poco get friends $pocoFriends = $ms->getFriendsPoco(); displayObject($pocoFriends, '$pocoPerson'); } else { // not authenticated yet, so give a link to use to start authentication. ?> <p><a href="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?> ?f=start">Click here to authenticate with MySpace</a></p><?php } } } }
function connect() { $ms_key = CONSUMER_KEY; //we get this from config.MySpace.php $ms_secret = CONSUMER_SECRET; if (!empty($this->params['url']['f'])) { if ($this->params['url']['f'] == 'start') { // get a request token + secret from MySpace and redirect to the authorization page $ms = new MySpace($ms_key, $ms_secret); $host = $_SERVER['HTTP_HOST'] . $this->base; $tok = $ms->getRequestToken("http://{$host}/mss/connect/?f=callback"); if (!isset($tok['oauth_token']) || !is_string($tok['oauth_token']) || !isset($tok['oauth_token_secret']) || !is_string($tok['oauth_token_secret'])) { $this->Session->setFlash('Invalid response.'); $this->redirect('/band/manage/'); exit; } $this->Session->write('auth_state', 'start'); $this->Session->write('request_token', $tok['oauth_token']); $this->Session->write('request_secret', $tok['oauth_token_secret']); $this->Session->write('callback_confirmed', $tok['oauth_callback_confirmed']); header("Location: " . $ms->getAuthorizeURL($tok['oauth_token'])); exit; } else { if (@$_GET['f'] == 'callback') { // the user has authorized us at MySpace, so now we can pick up our access token + secret if ($this->Session->check('auth_state')) { if ($this->Session->read('auth_state') != 'start') { $this->Session->setFlash('Invalid call.'); $this->redirect('/band/manage/'); exit; } } // if($this->Session->check('auth_state')) // the user has authorized us at MySpace, so now we can pick up our access token + secret if (!empty($this->params['url']['oauth_problem'])) { if ($this->params['url']['oauth_problem'] == 'user_refused') { $this->redirect('/band/manage/'); exit; } else { $this->Session->setFlash('Authorization problem.'); $this->redirect('/band/manage/'); exit; } } // if($this->Session->check('auth_state')) /* Get Band Id from Session or Cookie */ if ($this->Session->check('band_id')) { $band_id = $this->Session->read('band_id'); } elseif ($this->Cookie->valid('bandid')) { $band = $this->Cookie->read('bandid'); $band_id = $band['bandid']; // band_id value get from cookie } else { $this->Session->setFlash('Please select a band.'); $this->redirect('/band/index/'); exit; } $oauth_verifier = $this->params['url']['oauth_verifier']; if (!isset($oauth_verifier)) { $this->Session->setFlash('Invalid response.'); $this->redirect('/band/manage/'); exit; } $ms = new MySpace($ms_key, $ms_secret, $this->Session->read('request_token'), $this->Session->read('request_secret'), true, $oauth_verifier); $tok = $ms->getAccessToken(); if (!is_string($tok->key) || !is_string($tok->secret)) { error_log("Bad token from MySpace::getAccessToken(): " . var_export($tok, TRUE)); $this->Session->setFlash('Invalid response.'); $this->redirect('/band/manage/'); exit; } $ms = new MySpace($ms_key, $ms_secret, $tok->key, $tok->secret); $webUri = $ms->getCurrentUserId(); // get user id from webUri $user_id = substr($webUri, strrpos($webUri, "/") + 1, strlen($webUri)); $result = $this->Msslogin->find(array('user_id' => $user_id, 'band_id' => $band_id)); if ($result) { $result['Msslogin']['access_token'] = $tok->key; $result['Msslogin']['access_secret'] = $tok->secret; $result['Msslogin']['oauth_token'] = $this->Session->read('request_token'); $result['Msslogin']['oauth_token_secret'] = $this->Session->read('request_secret'); $result['Msslogin']['link'] = '1'; $this->Msslogin->save($result); $this->Session->setFlash('MySpace update status permission allowed.'); $band = $this->Cookie->read('flag'); // myspace called from wizard or setting manage $flag = $band["flag"]; if ($flag == 'b') { $this->redirect('/band/myspace/'); } else { $this->redirect('/band/manage/'); } exit; } else { // return to band manager or band wizard page $this->addprofile($user_id, $tok->key, $tok->secret, $band_id); } } } } else { $this->Session->setFlash('Invalid response.'); $this->redirect('/band/manage/'); exit; } $this->Session->setFlash('Invalid response.'); $this->redirect('/band/manage/'); exit; }