Отправка оповещения пользователю в одноклассниках

В этой статейке, я приведу пример работы с api «одноклассников».
Отправка оповещения пользователю от приложения в социальной сети «одноклассников».
При использовании кода подразумевается, что вы уже зарегистрировали свое приложение в соц.сети и получили ключ и секретный ключ для своего приложения.

Код отправки оповещения оформлен в функцию. Ниже код функции и пример ее использования:

/** 
* Отправка оповещение пользователю от приложения
* 
* @var string $text - текст сообщения
* @var int $uid - id пользователя в одноклассниках
*
* @return - резальтат отправки
*/
function sendMsgForUser($text, $uid){
	// массив с параметрами
	$params = array(
		'format=json', // тип передачи данных
		'application_key='.APP_KEY, // ключ приложения                                                       
		'text='.$text, // текст приложения
		'uid='.$uid // id пользователя в одноклассниках
	);
	sort($params); // сортировка параметров
	$sig = md5(join('',$params).SECRET_KEY); // генерация чигнатуры
	// урл для запроса
	$url = "http://api.odnoklassniki.ru/api/notifications/sendSimple";
	
	// еще раз собираем параметры в массив, только уже с сигнатурой
	$paramsAll = array(
		'format' => 'json',
		'application_key' => APP_KEY,
		'text' => $text,
		'uid' => $uid,
		'sig' => $sig // сгенерированная ранее сигнатура
	);
	
	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);
	curl_setopt($curl, CURLOPT_POST, 1);
	curl_setopt($curl, CURLOPT_POSTFIELDS, $paramsAll);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
	$result = curl_exec($curl);
	curl_close($curl);
	
	return $result;
}

И пример использования:

// пример использования
define('APP_KEY', '********'); // ключ приложения
define('SECRET_KEY', '*********'); // секретный ключ приложения
$uid = 171173274; // id пользователя в одноклассниках
// отправляем оповещение
$result = sendMsgForUser('тестовое сообщение', $uid);
var_dump($result);
Рассказать друзьям:


Отправка оповещения пользователю в одноклассниках: 1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*