//Include the Google Analytics PHP class and twitterauth classes require "googleanalytics.class.php"; require 'twitteroauth/twitteroauth.php'; $consumerKey = "XXXXXX"; $consumerSecret = "XXXXXXXXXX"; $oAuthToken = "XXXXXXXXXXXXX"; $oAuthSecret = "XXXXXXXXX"; //File to cache to $file = 'gabot.txt'; try { // create an instance of the GoogleAnalytics class using your own password and username $ga = new GoogleAnalytics('XXXX', 'XXXXX'); //ID is specific to site monitored $ga->setProfile('ga:XXXXXXX'); $website_info = $ga->getWebsiteProfiles(); // set the date range we want for the report - format is YYYY-MM-DD $to = date("Y-m-d", strtotime("now")); $from = date("Y-m-d", strtotime('Yesterday')); $ga->setDateRange($from, $to); // get the report for date, showing pageviews and visits $report = $ga->getReport( array('dimensions' => urlencode('ga:date'), 'metrics' => urlencode('ga:pageviews,ga:visits'), #'filters'=>urlencode('ga:country=@Canada'), 'sort' => '-ga:pageviews' ) ); //convert the associative array to a numeric array so we dont have to use the $from date as a key $report_n = array_values($report); //what we're going to tweet //0 = today 1 = yesterday $stats = $website_info[0]['title'] . " today: pageviews: " . $report_n[0]['ga:pageviews'] . " - visits: " . $report_n[0]['ga:visits']; //string to write in file $string = $report_n[0]['ga:pageviews'] . '#' . $report_n[0]['ga:visits']; //difference from yesterday to today $visits_difference = $report_n[1]['ga:visits'] - $report_n[0]['ga:visits']; $pageviews_difference = $report_n[1]['ga:pageviews'] - $report_n[0]['ga:pageviews']; //open the file for the old saved data $fh = fopen($file, 'r'); $data_read = fgets($fh); fclose($fh); //compare read data to latest data if ($data_read != $string) { $fh = fopen($file, 'w') or die("can't open file"); fwrite($fh, $string); fclose($fh); //tweet! $connection = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret); $connection->get('account/verify_credentials'); $connection->post('statuses/update', array('status' => $website_info[0]['title'] . " difference: visits: $visits_difference pageviews: $pageviews_difference")); var_export($connection->http_info); echo $stats; } } catch (Exception $e) { print 'Error: ' . $e->getMessage(); } ?>