Надсилання особистого повідомлення в Twitter на PHP (OAuth)

Знайшов мобільну версію твіттера http://mobile.twitter.com/ яка працює без аяксу і вікон, що спливають, тобто. можна за допомогою CURL отримувати сторінки, розпаровувати їх та формувати необхідні запити, але для цього користувач повинен повідомити нам свій логін та пароль від твіттера, що не кожен користувач захоче робити.

Було прийнято рішення використовувати технологію OAuth — нам не має значення, а користувачеві буде спокійніше.

0. Потрібно ініціалізувати об'єкт класу tmhOAuth: $twitter = new tmhOAuth(array( 'consumer_key' => 'consumer_key вашої програми в twitter', 'consumer_secret' => 'consumer_secret') twitter', ));

$twitter->request('POST', $twitter->url('oauth/access_token', ''), array( 'oauth_verifier' => $_REQUEST['oauth_verifier'] ) ); > Отриману відповідь зберігаємо у сесію. $_SESSION['access_token'] = $twitter->extract_params($twitter->response['response']);

4. Отримання списку друзів.

Насамперед хочеться, щоб результуючий код був максимально простим і зрозумілим, було б не погано отримувати список друзів у такий спосіб: $friends = $twitter->getFriendsByHandle();

для цього додамо до класу tmhOAuth метод наступного змісту:

public function getFriendsByHandle($screen_name = null) $params = array(); if ($screen_name) $params = array('screen_name' => $screen_name); > $this->request("GET", 'http://twitter.com/statuses/friends.json', $params); if ($this->response['code'] == 200) return json_decode($this->response['response'], true); > else return null; > >

5. Надсилання повідомлення

Для спрощення результуючого коду також доповнимо клас tmhOAuthшляхом надсилання повідомлень:

public function sendMessage($user, $message) $params = array(); $params = array('user' => $user, 'text' => $message); $this->request("POST", 'http://twitter.com/direct_messages/new.json', $params); if ($this->response['code'] == 200) return true; > else return null; > >

Цей метод повністю аналогічний перед використанням команди direct_messages/new і обов'язкових параметрів user і message. User повинен містити або ID користувача або його screen name. Message — сам текст повідомлення, цей параметр має обмеження в 140 символів.

А у нас тут можна отримати грант на тестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»

Написав гарний текст – отримав запрошення.

У «Пісочниці» діє премодерація: перед публікацією всі матеріали проходять через дбайливе проміння НЛО.

З великою ймовірністю не пройдуть премодерацію: