RomM1
Пользователь
Раньше при использовании механизма базовой аутентификации все, что было нужно для работы с Twitter — это логин и пароль. Новый механизм OAuth более сложен, но в то же время значительнее безопаснее — даже если ваши данные перехватят при обращении к Twitter API, ваш логин и пароль от Twitter останутся в тайне.
Для использования Twitter API необходимо зарегистрировать свое приложение:
Открываем ajax/posts.php
Ищем:
После добавляем:
Открываем posting.php
Ищем:
После добавляем:
Если не шлет топики в титлах которых есть кириллица, то меняем кодировку posts.php и posting.php на UTF-8 без BOM.
Для использования Twitter API необходимо зарегистрировать свое приложение:
- Зайдите на dev.twitter.com под своим логином и паролем, затем нажмите на ссылку "Create an app".
- Заполните форму — скорее всего введенные данные никто не проверяет со стороны Twitter, но лучше все заполнить по уму. Нажмите кнопку "Create your Twitter application".
- Теперь вам нужно 4 ключа для работы вашего приложения. Перейдите по ссылке dev.twitter.com/apps, а потом нажмите на название вновь созданного приложения. В Details в пункте Access level выбираем "Read and write".
- Дальше нужно нажать на вкладку "OAuth tool" и скопировать: "Access Token (oauth_token)", "Access Token Secret (oauth_token_secret)", "Consumer Key", "Consumer Secret".
Открываем ajax/posts.php
Ищем:
PHP:
if ($row = DB()->fetch_row($sql) AND $row['last_post_time'])
{
if ($userdata['user_level'] == USER)
{
if (TIMENOW - $row['last_post_time'] < $bb_cfg['flood_interval'])
{
$this->ajax_die($lang['FLOOD_ERROR']);
}
}
}
После добавляем:
PHP:
require(INC_DIR .'twitteroauth.php');
define("CONSUMER_KEY", "ваш ключ");
define("CONSUMER_SECRET", "ваш ключ");
define("OAUTH_TOKEN", "ваш ключ");
define("OAUTH_SECRET", "ваш ключ");
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET);
$content = $connection->get('account/verify_credentials');
$sql = DB()->fetch_row("SELECT
topic_id, topic_title
FROM ". BB_TOPICS ."
WHERE topic_id = $topic_id
LIMIT 1
");
$connection->post('statuses/update', array('status' => $sql['topic_title'] . ' ' . $bb_cfg['server_name'] .'/viewtopic.php?t=' . $sql['topic_id']));
Открываем posting.php
Ищем:
PHP:
if ($mode == 'newtopic' || $mode == 'reply')
{
set_tracks(COOKIE_TOPIC, $tracking_topics, $topic_id);
}
После добавляем:
PHP:
if ($mode == 'newtopic')
{
require(INC_DIR .'twitteroauth.php');
define("CONSUMER_KEY", "ваш ключ");
define("CONSUMER_SECRET", "ваш ключ");
define("OAUTH_TOKEN", "ваш ключ");
define("OAUTH_SECRET", "ваш ключ");
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET);
$content = $connection->get('account/verify_credentials');
$sql = DB()->fetch_row("SELECT
topic_id, topic_title
FROM ". BB_TOPICS ."
WHERE topic_id = $topic_id
LIMIT 1
");
$connection->post('statuses/update', array('status' => $sql['topic_title'] . ' ' . $bb_cfg['server_name'] .'/viewtopic.php?t=' . $sql['topic_id']));
}
Если не шлет топики в титлах которых есть кириллица, то меняем кодировку posts.php и posting.php на UTF-8 без BOM.