Nick
I'm no expert but have this working, here is a copy of mine, try modifying this with your data.
Code:// start autoTweet 3.0 //User Settings. $consumerKey = "xxxxxxxxxxxxxxx"; //twitter app consumer key. $consumerSecret = "xxxxxxxxxxxxxx"; //twitter app consumer secret. $oauthToken = "xxxxxxxxxxxxxxxxx"; //twitter app "my access" token $oauthTokenSecret = "xxxxxxxxxxxxxxxx"; //twitter app "my access" token secret. $bitlyUsername = "bitly2011"; //bit.ly username $bitApiKey = "R_8888888888888888888888883"; //bit.ly api key. $storeUrl = "www.domain.co.uk"; //url to the homepage of your store no http. $showprice = 0; // Show the product price? 0 = off, 1 = on. no quotes. $timeout = 10; //seconds to wait for twitter & bit.ly. This can be left alone. //do not edit below this line. $prodUrl = urlencode(zen_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_id)); //short url function. function shortenUrl($user, $key, $shortenUrl){ $url = 'http://api.bit.ly/v3/shorten?login=' . $user .'&apiKey='. $key . '&longUrl=' . $shortenUrl . '&format=xml'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, $timeout); $data = curl_exec($ch); curl_close($ch); return $data; } //use oAuth library require_once 'twitteroauth/twitteroauth.php'; //function to shorten url $shorten = shortenUrl($bitlyUsername, $bitApiKey, $prodUrl); //start message w/ or w/out price $message = "New product available: " . $_POST['products_name'][$_SESSION['languages_id']] . '!'; if ($showprice){ $message .= ' Only $' . $products_price . '.'; } //if shorten fails use $storeUrl $bitStatus = simplexml_load_string($shorten); $http_code = $bitStatus->status_code; $status_txt = $bitStatus->status_txt; if ($http_code != 200){$shorten = $storeUrl; $biterror = "URL was not shortened for Twitter: "; $biterror .= $storeUrl . " was used instead."; $biterror .= " Reason: " . $status_txt; $messageStack->add_session($biterror, 'caution'); } else { $shorten = $bitStatus->data->url;} //finish message. $message .= ' Check it out now at ' . $shorten; //the connection to twitter API $connection = new TwitterOAuth($consumerKey, $consumerSecret, $oauthToken, $oauthTokenSecret); $connection->timeout = $timeout; $connection->connecttimeout = $timeout; //send message $tweet = $connection->post('statuses/update', array('status' => $message)); //error check if ($connection->http_code != NULL){ if ($connection->http_code != 200){ $error = "Twitter could not be updated: " . $connection->http_header["status"] . ": "; $error .= $tweet->error; $error .= "<br />To paste the code into twitter yourself use: <br />" . $message; $messageStack->add_session($error, 'error'); } else { $messageStack->add_session('Twitter Updated!', 'success'); } } else { $error = "Twitter could not be updated: Could not connect or there was nothing to do once connected.<br /> Twitter may be down or over capacity. To paste the code into twitter yourself use: <br />"; $messageStack->add_session($error, 'error'); $messageStack->add_session($message, 'caution'); } // end autoTweet 3.0
Regards Dave


Reply With Quote
