Уведомления

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Уведомления

Сообщение Александр »

ihorek95, нужно знать как работать с базами данных в php. Получить список из базы - это не одна строчка кода.
ihorek95
Сообщения: 57
Зарегистрирован: 16 окт 2009, 18:48

Re: Уведомления

Сообщение ihorek95 »

Александ, я понимаю....
на данный момент я знаю только языки CSS, HTML, PASKAL начинаю учиь РНР............напишите кто нить рабочий скрипт...
если кто возьмется за деньги то тоже не проблема
ihorek95
Сообщения: 57
Зарегистрирован: 16 окт 2009, 18:48

Re: Уведомления

Сообщение ihorek95 »

ДЫК никто не напишет??
Аватара пользователя
Deniska
Сообщения: 653
Зарегистрирован: 30 окт 2009, 00:07

Re: Уведомления

Сообщение Deniska »

ihorek95
Может вы еще хотите тортик на блюдочке что бы вам принесли?
monax
Сообщения: 33
Зарегистрирован: 13 дек 2009, 23:23

Re: Уведомления

Сообщение monax »

Спасибо за полезную информацию!
Два вопроса по поводу прочитанного:
Почему-то когда пишу так:

Код: Выделить всё

<?
$app_id = '1741989';          // id приложения
$api_secret = 'kJ2VaAr2je';   // Защищенный ключ с вкладки "Платежи"

$auth_key  = $_POST['auth_key'];  // auth_key из FlashVars приложения
$viewer_id = $_POST['viewer_id']; // id просматривающего приложение

// Рассчитывается ключ авторизации
$real_key = md5($app_id."_".$viewer_id."_".$api_secret);

if ($auth_key == $real_key){
	file_put_contents("uids.txt", $viewer_id.",", FILE_APPEND);
}
?>
Не работает.
А если сделать так:

Код: Выделить всё

<?
/*

	http://flapps.ru/forum/ - форум о создании флеш приложений на основе ВКонтакте API

*/
$app_id = '1741989';          // id приложения
$api_secret = 'kJ2VaAr2je';   // Защищенный ключ с вкладки "Платежи"

$auth_key  = $_POST['auth_key'];  // auth_key из FlashVars приложения
$viewer_id = $_POST['viewer_id']; // id просматривающего приложение

// Рассчитывается ключ авторизации
$real_key = md5($app_id."_".$viewer_id."_".$api_secret);

//if ($auth_key == $real_key){                                                                     //Закоментил
	file_put_contents("uids.txt", $viewer_id.",", FILE_APPEND);
//}                                                                                                             //Закоментил 
?>
И как сделать так, чтобы id которые уже занесены в файл не повторялись?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Уведомления

Сообщение Александр »

monax, у тебя $api_secret - это защищенный ключ с вкладки платежи или секретный? Нужен защищенный. У тебя проблема наверно именно из-за этого.
monax писал(а):И как сделать так, чтобы id которые уже занесены в файл не повторялись?
Над этим нужно уже думать.
Проще будет записывать в БД с уникальным полем, а не в файл. Но и в этом случае нужно думать.
monax
Сообщения: 33
Зарегистрирован: 13 дек 2009, 23:23

Re: Уведомления

Сообщение monax »

В документации сказано что в массив $uids = array (1,2,3); не зля вписывать более 1000 id, как поступать если пользователей более 1000?
Мне на ум пришло только отправлять каждому по отдельности и зациклить этот процесс. Или есть более простые идеи?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Уведомления

Сообщение Александр »

monax, отправлять по 100 и зациклить этот процесс.
monax
Сообщения: 33
Зарегистрирован: 13 дек 2009, 23:23

Re: Уведомления

Сообщение monax »

Разобрался с записью id пользователей установивших приложение, надеюсь сегодня доделаю и выложу скрип записывающий id в базу.
Но почему-то не получается отправить пользователю уведомление.
Насколько я понял php скрипт сам отправляет уведомления, непосредственно с удаленного сервера. Приложение в этом действии носит лишь второстепенный характер, тоесть лишь факт наличия приложения.
На своем сервере создаю файл, например send.php, с таким содержанием:

Код: Выделить всё

<?
require('VkApi.class.php');

$api = new VkApiNode('номер моего приложения', 'секретный код');

$uids = array (1939933); // записываю свой id для проверки
$message = "Текст"; // Оставляю, ибо это просто для теста
$message = iconv("cp1251","utf-8",$message);
$query = $api->sendNotification($uids, $message);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $query);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_exec($ch);
curl_close($ch);
?>
Также закидываю в папку с этим доком VkApi.class.php
Запрашиваю send.php из браузера. Открывается пустое окно(ну как и должно быть), да вот только уведомления не приходят в контакте.
Или я что-то не так понял?
Ах да, и какой секретный код писать, приложения или платежный?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Уведомления

Сообщение Александр »

monax, в настройках приложения разрешено получать уведомления?
Если оно будет отправлено, то метод возвратит перечисленные через запятую ID пользователей, которым было успешно отправлено уведомление.
Нужно писать защищенный ключ.
Ответить