Так вот - вопрос в чём: При регистрации нового пользователя в фин.блоке, модератор его (блог пользователя) одобряет и вот при одобрении юзера нужно сделать автоматическое добавление канала в личном кабинете гугла.. Дело в том, что адрес блоггера выглядит таким образом: user1.site.ru или user2.site.ru.. Вот, это первое.. Дальше нужно будет периодически забирать сумму заработанных блоггером средств и заносить её к себе в базу..
Собственно вот..
Подскажите, пожалуйста, в каком направлении двигаться-хоть и насколько выполнимая это задача?
Спасибо.
Спустя 3 часа, 1 минута, 2 секунды (25.11.2009 - 11:40) OrlenkoKN написал(а):
Собственно, может я мутно написал, постараюсь конкретизировать по шагам:
Форма авторизации у нас находится по адресу
https://www.google.com/adsense/login/ru/
НА форме есть куча скрытых параметров, 2 поля:
<input type="text" name="Email" value="" class="gaia le val" size="18" id="Email" style="width: 116px"/>
<input type="password" name="Passwd" class="gaia le val" id="Passwd" size="18" style="width: 116px"/>
и батон
<input type="submit" value="Войти" class="gaia le button"/>
Далее после авторизации попадаем на главную страницу:
https://www.google.com/adsense/report/overview
Необходимая форма добавления канала находится по урлу
https://www.google.com/adsense/tchannel-create
для добавления нужно ввести имя и нажать баттон
Форма:
<form action="tchannel-save" method="POST" name="fieldForm" style="margin:0;">
Поля "имя канала"
<input type="text" name="name" value="" size="30" maxlength="30"/>
Кнопка "Добавить"
<input type="submit" name="add-save-channel" value="Добавить канал"/>
Собственно, думаю что первый этап пройден...
На второй этап, думаю, можно пока не обращать внимания..
Мне подсказывают, что можно при помощи curl всё сделать, но я пока не знаком с этой технологией, кто что думает?
Форма авторизации у нас находится по адресу
https://www.google.com/adsense/login/ru/
НА форме есть куча скрытых параметров, 2 поля:
<input type="text" name="Email" value="" class="gaia le val" size="18" id="Email" style="width: 116px"/>
<input type="password" name="Passwd" class="gaia le val" id="Passwd" size="18" style="width: 116px"/>
и батон
<input type="submit" value="Войти" class="gaia le button"/>
Далее после авторизации попадаем на главную страницу:
https://www.google.com/adsense/report/overview
Необходимая форма добавления канала находится по урлу
https://www.google.com/adsense/tchannel-create
для добавления нужно ввести имя и нажать баттон
Форма:
<form action="tchannel-save" method="POST" name="fieldForm" style="margin:0;">
Поля "имя канала"
<input type="text" name="name" value="" size="30" maxlength="30"/>
Кнопка "Добавить"
<input type="submit" name="add-save-channel" value="Добавить канал"/>
Собственно, думаю что первый этап пройден...
На второй этап, думаю, можно пока не обращать внимания..
Мне подсказывают, что можно при помощи curl всё сделать, но я пока не знаком с этой технологией, кто что думает?
Спустя 4 дня, 20 часов, 16 минут, 20 секунд (30.11.2009 - 07:57) OrlenkoKN написал(а):
Всё ж тему поднимаю, может быть кто-нить да поможет..
В общем на данный момент удалось выполнить примерно следующее: есть скрипт, который выполняет авторизацию пользователя в сервисах yandex..
Это всё работает, в корне создаётся файл с куками, дальше через скрипт просмотра можно просмотреть страницу ну и тд..
я в курле не очень силён на данный момент, поэтому мне удалось пока выполнить аналогичное преобразование:
Как бы постарался учесть все скрытые поля, но всё же при попытке авторизации в куки заносится FALSE однакось..
Если есть более опытные товарищи - помогите пожалста а?)
Собственно, вто форма авторизации в гугле:
пока бъюсь над авторизацией...
В общем на данный момент удалось выполнить примерно следующее: есть скрипт, который выполняет авторизацию пользователя в сервисах yandex..
<?php
$url = "http://passport.yandex.ru/passport?mode=auth"; //УРЛ, куда отправлять данные
# Переменные, которые мы будет отправлять Яндексу в виде POST запроса:
$login = 'login'; //Логин
$passwd = 'password'; //Пароль
$user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/cookies.txt'; //Полный путь до файла, где будем хранить куки
$idkey = '3121235564020nVDfxvth2'; //Хрен знает что
$retpath = 'http://webmaster.yandex.ru/wmconsole/'; //Откуда мы пришли на страницу авторизации
$timestamp = ''; //Хрен знает что
$twoweeks = 'yes'; //Две недели какие-то
$In = 'Войти'; //Кнопка входа
# Функция:#
function auth($url) {
global $user_cookie_file, $idkey, $retpath, $timestamp, $login, $passwd, $twoweeks, $In; // Получаем все POST данные
# Небольшая прелюдия с инифиализацией cURL и прочей шулухой
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Куки раз
curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); //Куки два
curl_setopt($ch, CURLOPT_POST,1); //Будем отправлять POST запрос
# Формируем и отправляем тот самый POST запрос.
# Как видите, это простая строка, мало чем отличающаяся от GET.
curl_setopt($ch, CURLOPT_POSTFIELDS,"idkey=$idkey&retpath=$retpath×tamp=$timestamp&login=$login&passwd=$passwd&twoweeks=$twoweeks&In=$In");
$html = curl_exec($ch);
curl_close($ch);
return $html; //Возвращаем ответ Яндекса
}
auth($url); // Авторизируемся.
?>
Это всё работает, в корне создаётся файл с куками, дальше через скрипт просмотра можно просмотреть страницу ну и тд..
я в курле не очень силён на данный момент, поэтому мне удалось пока выполнить аналогичное преобразование:
<?php
$url = "https://www.google.com/accounts/LoginAuth?continue=http%3A%2F%2Fwww.google.ru%2Fwebhp%3Frls%3Dig&hl=ru"; //УРЛ, куда отправлять данные
# Переменные, которые мы будет отправлять Гуглю в виде POST запроса:
$Email = 'mail@mail.ru'; //Логин
$Passwd = 'password'; //Пароль
$user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/cookies2.txt'; //Полный путь до файла, где будем хранить куки
$continue = 'http://www.google.ru/webhp?rls=ig'; //Хрен знает что
$retpath = 'http://www.google.ru/webhp?rls=ig'; //Откуда мы пришли на страницу авторизации
$hl = 'ru';
$GALX = 'i-qT9E565Cw';
$rmShown = '1';
$signIn = 'Войти'; //Кнопка входа
# Функция:
function auth($url) {
global $user_cookie_file, $Email, $Passwd, $continue, $hl, $GALX, $rmShown, $signIn; // Получаем все POST данные
# Небольшая прелюдия с инифиализацией cURL и прочей шулухой
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Куки раз
curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); //Куки два
curl_setopt($ch, CURLOPT_POST,1); //Будем отправлять POST запрос
# Формируем и отправляем тот самый POST запрос.
# Как видите, это простая строка, мало чем отличающаяся от GET.
curl_setopt($ch, CURLOPT_POSTFIELDS,"Email=$Email&Passwd=$Passwd&continue=$continue&hl=$hl&GALX=$GALX&rmShown=$rmShown&signIn=$signIn;");
$html = curl_exec($ch);
curl_close($ch);
return $html; //Возвращаем ответ Яндекса
}
auth($url); // Авторизируемся.
?>
Как бы постарался учесть все скрытые поля, но всё же при попытке авторизации в куки заносится FALSE однакось..
Если есть более опытные товарищи - помогите пожалста а?)
Собственно, вто форма авторизации в гугле:
Форма гугля
<form action="https://www.google.com/accounts/LoginAuth?continue=http%3A%2F%2Fwww.google.ru%2Fwebhp%3Frls%3Dig&hl=ru" method="post">
Логин
//<input type="hidden" name="continue" id="continue" value="http://www.google.ru/webhp?rls=ig" />
<input type="hidden" name="hl" id="hl" value="ru" />
<input type="hidden" name="GALX" value="i-qT9E565Cw" />
<input type="text" name="Email" id="Email" size="18" value=""/>
Пасс
<input type="password" name="Passwd" id="Passwd" size="18"/>
<input type="hidden" name='rmShown' value="1" />
<input type="submit" class="gaia le button" name="signIn" value="Войти" />
пока бъюсь над авторизацией...