function hs_authenticate_tumblr() { $consumerKey = "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW"; // Put your consumer key here. $consumerSecret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // Put your consumer secret here. $client = new Tumblr\API\Client($consumerKey, $consumerSecret); $requestHandler = $client->getRequestHandler(); $requestHandler->setBaseUrl("https://www.tumblr.com/"); // If we are visiting the first time if (!$_GET["oauth_verifier"]) { // Grab the oauth token. $resp = $requestHandler->request("POST", "oauth/request_token", array()); $out = $result = $resp->body; $data = array(); parse_str($out, $data); // Tell the user where to go. echo '<a href="https://www.tumblr.com/oauth/authorize?oauth_token=' . $data["oauth_token"] . '"> GO </a>'; $_SESSION["t"] = $data["oauth_token"]; $_SESSION["s"] = $data["oauth_token_secret"]; } else { $verifier = $_GET["oauth_verifier"]; // Use the stored tokens. $client->setToken($_SESSION["t"], $_SESSION["s"]); // To grab the access tokens. $resp = $requestHandler->request("POST", "oauth/access_token", array("oauth_verifier" => $verifier)); $out = $result = $resp->body; $data = array(); parse_str($out, $data); // And print out our new keys we got back. $token = $data["oauth_token"]; $secret = $data["oauth_token_secret"]; echo "token: " . $token . "<br/>secret: " . $secret; $client = new Tumblr\API\Client($consumerKey, $consumerSecret, $token, $secret); $info = $client->getUserInfo(); echo "<br/><br/>congrats " . $info->user->name . "!"; } }
function CreateLinkPost() { $config = (include "/config.php"); $client = new Tumblr\API\Client($config['tumblr_consumer_key'], $config['tumblr_consumer_secret']); $client->setToken($_SESSION['tumblr_token'], $_SESSION['tumblr_secret']); if (!isset($_POST['url']) || $_POST['url'] == "") { return "Missing required param: url"; exit; } if (!isset($_POST['blogName']) || $_POST['blogName'] == "") { return "Missing required param: blogName"; exit; } $blogName = $_POST['blogName']; $data = array("type" => "link", "url" => $_POST['url']); if (isset($_POST['description']) && $_POST['description'] != "") { $data['description'] = FilterText($_POST['description']); } if (isset($_POST['thumbnail']) && $_POST['thumbnail'] != "") { $data['thumbnail'] = $_POST['thumbnail']; } if (isset($_POST['author']) && $_POST['author'] != "") { $data['author'] = FilterText($_POST['author']); } try { $client->createPost($blogName, $data); } catch (Exception $ex) { return "That blog does not exist"; } return "success"; }
function GetUserBlogs() { $config = (include "/config.php"); $client = new Tumblr\API\Client($config['tumblr_consumer_key'], $config['tumblr_consumer_secret']); $client->setToken($_SESSION['tumblr_token'], $_SESSION['tumblr_secret']); $r = array(); foreach ($client->getUserInfo()->user->blogs as $blog) { array_push($r, $blog->name); } return $r; }
function HandleResponse() { $config = (include "/config.php"); $client = new Tumblr\API\Client($config['tumblr_consumer_key'], $config['tumblr_consumer_secret']); $requestHandler = $client->getRequestHandler(); $requestHandler->setBaseUrl('https://www.tumblr.com/'); $client->setToken($_SESSION['tumblr_temp_token'], $_SESSION['tumblr_temp_secret']); // exchange the verifier for the keys $verifier = $_GET['oauth_verifier']; // exchange the verifier for the keys $resp = $requestHandler->request('POST', 'oauth/access_token', array('oauth_verifier' => $verifier)); $out = $result = $resp->body; $data = array(); parse_str($out, $data); // and print out our new keys $token = $data['oauth_token']; $secret = $data['oauth_token_secret']; $_SESSION['tumblr_token'] = $token; $_SESSION['tumblr_secret'] = $secret; echo "<script>window.close();</script>"; die; }