Twitter Backup v1.1 1

Я уже писал про скрипт, который бэкапит все ваши твитты в базу данных MySQL на Вашем сервере. Скрипт замечательно работал несколько лет, но в июне Twitter прекратил поддержку API v1.0 Пришлось переводить скрипт на работу с API v.1.1

0
Новая версия скрипта под катом.

<?php
# Twitter API v1.1: Get new twitt

# Обновляем ключики
$consumer_key = '';
$consumer_secret = '';
$user_token = '';
$user_secret = '';

# Подключаем библиотеку для работы с API. Скачать можно тут: https://github.com/themattharris/tmhOAuth
require 'tmhOAuth.php';
$connection = new tmhOAuth(array(
    'consumer_key' => $consumer_key,
    'consumer_secret' => $consumer_secret,
    'user_token' => $user_token,
    'user_secret' => $user_secret
));

# Получаем данные
$http_code = $connection->request('GET', $connection->url('1.1/statuses/user_timeline'), array('count' => '50'));
	
# Разбираем ответ	
if ($http_code == 200) {
    $response = $connection->response['response'];
	$data=json_decode($response,1);
	$count=count($data);
	$i=1;
	while($i<$count)
	{
	        $id=$data["$i"]["id_str"];
		$text=$data["$i"]["text"];
		$text=iconv("UTF-8", "Windows-1251//IGNORE", $text);	
		$text=mysql_real_escape_string($text);	
				
		$timestamp = strtotime($data["$i"]["created_at"]);
		$time_item = date('d.m.Y H:i', $timestamp);
		   
		# Определяем откуда был отправлен твитт
		$via=$data["$i"]["source"];
		$via=strip_tags($via);
		$via=mysql_real_escape_string($via);
	   
		# Определяем является ли твитт реплаем
		if(substr($text, 0, 1)=='@') {$replay=1; }
			else { $replay=0; }
						
		# Проверяем, может уже есть в базе. Можно было решить и простановкой уникального индекса по ID.
		$in_db = mysql_query("SELECT COUNT(id) FROM twitter Where timestamp='".$timestamp."' ");
		$in_db = mysql_fetch_row($in_db);
		if($in_db[0]==0)
		{
			$query = "INSERT INTO twitter VALUES ('','$id','$text','$time_item','$timestamp','$via','$replay' )";
			mysql_query ($query);
		}
		$i++;
	}
}
# Ошибка, если API вернуло не код 200
else {echo "Error: Twitter API code: $http_code";} 
?>

One comment on “Twitter Backup v1.1

  1. Reply Ione Авг 6,2013 9:35 дп

    Спасибо, давно искал.

Leave a Reply