egoriy
Новичок
Доброго всем вечера!
Уже третий день пытаюсь написать скрипт приглашающий пользователя в группу вконтакте.
Использую готовый класс - дописал в него два метода
private function doInvite($hash, $gid, $mid, $url) и
public function inviteGroup($url)
клиентский код при этом выглядит так
для упрощения процесса тестирования написал такой открытый метод:
клиентский код такой:
где [email protected] - емэйл создателя группы
pass - его пароль
http://vk.com/id94851196 - адрес странички в вк создателя группы
метод debug выводит в окно браузера:
HTTP/1.1 200 OK Server: Apache Date: Sun, 14 Dec 2014 15:53:19 GMT Content-Type: text/plain; charset=windows-1251 Content-Length: 54 Connection: keep-alive X-Powered-By: PHP/3.9762 Pragma: no-cache Cache-control: no-store 16698065918Ошибка доступа27870655
любопытно, что запостить запись на стену вышеупомянутого создателя группы, используя тот же механизм авторизации, удается без проблем:
печатает "success"
код всего класса прилагаю в архиве.
подскажите плз кто что может,что я делаю не так или может есть какой-нить готовый скрипт под этот функционал, буду рад любой подсказке!
Спасибо!
Уже третий день пытаюсь написать скрипт приглашающий пользователя в группу вконтакте.
Использую готовый класс - дописал в него два метода
private function doInvite($hash, $gid, $mid, $url) и
public function inviteGroup($url)
клиентский код при этом выглядит так
Код:
$vk = new vk_wallpost("[email protected]", "pass", "http://vk.com/id94851196", "");
$vk->inviteGroup('http://vk.com/club82720250');
Код:
public function debug()
{
$h = $this->getHash();;
if (!$h)
return false;
$hash = $h['post_hash'];
$gid = 82720250;
$mid = 94851196;
$url = 'http://vk.com/club82720250';
$q = 'act=a_invite&al=1&gid='.$gid.'&hash='.$hash.'&mid='.$mid;
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
@curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, CURLOPT_USERAGENT, $this->userAgent);
if($this->headers)
curl_setopt($c, CURLOPT_HEADER, 1);
if($this->_cookies)
{
curl_setopt($c, CURLOPT_COOKIEJAR, $this->_cookies);
curl_setopt($c, CURLOPT_COOKIEFILE, $this->_cookies);
}
curl_setopt($c, CURLOPT_HTTPHEADER, array('X-Requested-With: XMLHttpRequest'));
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_REFERER, $url);
curl_setopt($c, CURLOPT_POSTFIELDS, $q);
curl_setopt($c, CURLOPT_TIMEOUT, 15);
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($c, CURLOPT_URL, 'http://vk.com/al_page.php');
$r = curl_exec($c);
curl_close($c);
print $r;
}
Код:
$vk = new vk_wallpost("[email protected]", "pass", "http://vk.com/id94851196", "");
$vk->debug();
pass - его пароль
http://vk.com/id94851196 - адрес странички в вк создателя группы
метод debug выводит в окно браузера:
HTTP/1.1 200 OK Server: Apache Date: Sun, 14 Dec 2014 15:53:19 GMT Content-Type: text/plain; charset=windows-1251 Content-Length: 54 Connection: keep-alive X-Powered-By: PHP/3.9762 Pragma: no-cache Cache-control: no-store 16698065918Ошибка доступа27870655
любопытно, что запостить запись на стену вышеупомянутого создателя группы, используя тот же механизм авторизации, удается без проблем:
Код:
$vk = new vk_wallpost("[email protected]", "pass", "http://vk.com/id94851196", "");
$r = $vk->postMessage("http://xbreaker.ru", "Test message33333!!!!!");
if($r)
{
print 'success';
}
else
{
print 'error';
}
код всего класса прилагаю в архиве.
подскажите плз кто что может,что я делаю не так или может есть какой-нить готовый скрипт под этот функционал, буду рад любой подсказке!
Спасибо!
Вложения
-
5,5 KB Просмотры: 2