Вконтакте и зеннопостер

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 651
Благодарностей
655
Баллы
113
Нужно в скайп открытый парсер кинуть , чтоб можно было доковырять критерии.
 
  • Спасибо
Реакции: gluckbahr

Voldemar

Client
Регистрация
13.04.2014
Сообщения
478
Благодарностей
56
Баллы
28
У меня комплексное решение и всё исключительно через API.

Рассылка по : Группам, Обсуждениям, Личка, Видео, Уведомления.
Если правильно применять, то и все равно, если банить будут. Главное какой результат от рассылок.
Сейчас в процессе докручу рассылку по альбомам, посмотри как реакция.

В Целом качество API гораздо больше доволен:

1) Скорость
2) Нету глюков постоянных из-за зенки, в плане если эмулировать через браузер.

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

Тут скорее правильное понимание использования инструмент, а не способ как реализовывать) Ведь важно то, что на выходе получиться, в данном случае результат, например в виде заявок с сайта ;-) Тут уже надо маркетинг подключать грамотный к поиску и сбора ЦА и взаимодействию с ними.
 
  • Спасибо
Реакции: Roman*

Manless

Client
Регистрация
09.01.2014
Сообщения
186
Благодарностей
33
Баллы
28
Ребят, помогите пожалуйста разобраться с загрузкой фотографий на стену группы через api? И правильно ли я начинаю работать с api?
 

Вложения

gluckbahr

Client
Регистрация
05.04.2014
Сообщения
84
Благодарностей
25
Баллы
18
Ребят, помогите пожалуйста разобраться с загрузкой фотографий на стену группы через api? И правильно ли я начинаю работать с api?
https://oauth.vk.com/authorize?client_id={-Variable.app_id-}&scope=wall,messages&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.24&response_type=token
попробуй вот так
 

gluckbahr

Client
Регистрация
05.04.2014
Сообщения
84
Благодарностей
25
Баллы
18
  • Спасибо
Реакции: Roman*

gluckbahr

Client
Регистрация
05.04.2014
Сообщения
84
Благодарностей
25
Баллы
18
Ребята кто может помочь со снипетов ращепления ссылок
сюжет
получает ссылку из списка apiRequestsX и число из {-Variable.resultsInRecentRequest-}
результат: в конец списка дописать варианты частичного ращепление
если в ссылке не указан пол или указан 0 то ращепить эту ссылку на тот же вариант но с sex=1 и sex=0
Но сейчас получается что он ращепляет ссылку https://api.vk.com/method/users.search.xml?count=1000&country=1&city=161&age_from=14&age_to=14&has_photo=1&access_token=
на перебирая все месяца
https://api.vk.com/method/users.search.xml?count=1000&country=1&city=161&age_from=14&age_to=14&has_photo=1&sex=2&birth_month=1&access_token=

ЕСЛИ интересно стучите в скайп GLUCKBAHR, добавлю в конфу!

Код:
//Разбивалка запросов на части. © Nikolay Komarov, 2015
//ожидается, что есть список с именем apiRequests и переменная resultsInRecentRequest
//в цикле на «кубиках» эти запросы дёргаются, и если вернулось меньше 1000 ответов, то
//запрос удаляется из списка. Если вернулось больше, то запрос остаётся в списке, а в
//переменную resultsInRecentRequest кладётся само количество ответов (оно доступно)
//после этого проверяется, что в запросе нет слова &sort=, в таком случае разбиение уже невозможно

//в результате работы сниппета элементы списка дробятся, так что при получении слишком большого списка ответов
//можно просто вызвать сниппет и отправлять запросы снова, удаляя из списка удавшиеся,
//пока в первом запросе не появится слово sort - это признак того, что дальше дробить некуда
/*
    bool varFound = false;
    foreach(ILocalVariable variable in project.Variables)
    {
        if(variable.Name == "resultsInRecentRequest")
            varFound = true;
    }
    if(!varFound)
    //add this fucking var
        return 0;*/
       
int resultsInRecentRequest = 0;
bool parseResult = int.TryParse(project.Variables["resultsInRecentRequest"].Value, out resultsInRecentRequest);

if(!parseResult)
{
    project.SendErrorToLog("ИСКЛЮЧИТЕЛЬНАЯ СИТУАЦИЯ! Не могу сконвертировать " + project.Variables["resultsInRecentRequest"].Value + " в целое число!");
    project.SendErrorToLog("ОБРАБОТКА ЗАПРОСОВ ПРЕРВАНА В СНИППЕТЕ!");
    return -2;
}
   
if(resultsInRecentRequest <= 1000)
{
    project.SendErrorToLog("ИСКЛЮЧИТЕЛЬНАЯ СИТУАЦИЯ! Результатов в последнем запросе меньше тысячи, а именно " + resultsInRecentRequest);
    project.SendErrorToLog("Незачем расщеплять этот запрос, ОБРАБОТКА В СНИППЕТЕ ПРЕРВАНА!");
    return -1;
}

// получаем список, в котором будем искать
var requests = project.Lists["apiRequestsX"];

//для тестирования закомментировать предыдущую строчку и раскомментировать три следующие
//List<String> requests = new List<string>(10);
//requests.Add("https://api.vk.com/method/users.search.xml?count=10&q=VARparam_q&country=VARparam_country&city=VARparam_city&age_from=VARparam_age_from&age_to=VARparam_age_to&age_to=VARparam_age_to&birth_day=VARparam_birth_day&birth_month=VARparam_birth_month&birth_year=VARparam_birth_year&has_photo=VARparam_has_photo&has_photo=VARparam_has_photo&from_list=VARparam_from_list&group_id=VARparam_group_id&status=VARparam_add_status&interests=VARparam_add_interests&access_token=VARtoken");
//requests.Add("https://api.vk.com/method/users.search.xml?count=10&q=VARparam_q&country=VARparam_country&city=VARparam_city&sex=VARparam_sex&age_from=VARparam_age_from&age_to=VARparam_age_to&age_to=VARparam_age_to&birth_day=VARparam_birth_day&birth_month=VARparam_birth_month&birth_year=VARparam_birth_year&has_photo=VARparam_has_photo&has_photo=VARparam_has_photo&from_list=VARparam_from_list&group_id=VARparam_group_id&status=VARparam_add_status&interests=VARparam_add_interests&access_token=VARtoken");


// ищем в каждой строчке в списке

    //        List<String> requests(List<String> requests, int resultsInRecentRequest)

    if (requests.Count == 0)
    {
        project.SendErrorToLog("ИСКЛЮЧИТЕЛЬНАЯ СИТУАЦИЯ! Список запросов пуст.");
        return 666;
    }
   
    project.SendInfoToLog("Начальное значение переменной results in Recent Request: " + resultsInRecentRequest);
    project.SendInfoToLog("Начальное количество запросов в списке apiRequests: " + requests.Count);

    int counter = 1, splitCounter = 0;
    string request;
    decimal answersForecast;

    for(;((answersForecast = resultsInRecentRequest / requests.Count) > 1000 && splitCounter < 100);splitCounter++)
    {
        project.SendInfoToLog("счётчик расщепления splitCounter = " + splitCounter);
        request = requests[0];
        requests.RemoveAt(0);

        //в 2 раза
        if (!request.Contains("sex=") || request.Contains("sex=&") )
        {
            requests.Add(request.Replace("&access_token", "&sex=2&access_token"));
            requests.Add(request.Replace("&access_token", "&sex=1&access_token"));
            continue;
        }

        //в 12 раз
        if (!request.Contains("birth_month=") || request.Contains("birth_month=&"))
        {
            for (counter = 1; counter <= 12; counter++)
            {
                requests.Add(request.Replace("&access_token", "&birth_month=" + counter + "&access_token"));
            }
            continue;
        }

        //в 31 раз
        if (!request.Contains("birth_day=") || request.Contains("birth_day=&"))
        {
            for (counter = 1; counter <= 31; counter++)
            {
                requests.Add(request.Replace("&access_token", "&birth_day=" + counter + "&access_token"));
            }
            continue;
        }


        //в 47 раз
        if ((!request.Contains("age_from=") && !request.Contains("age_to=") && !request.Contains("birth_year=")) ||
            (    (request.Contains("age_from=&") && request.Contains("age_to=&") && request.Contains("birth_year=&"))))
        {
            for (counter = DateTime.Now.Year - 65; counter <= DateTime.Now.Year - 18; counter++)
            {
                requests.Add(request.Replace("&access_token", "&birth_year=" + counter + "&access_token"));
            }
            continue;
        }

        //последняя попытка, просто сортировкой - до двух раз, но возможно, с пересечениями
        if (!request.Contains("sort=") || request.Contains("sort=&"))
        {
            requests.Add(request.Replace("&access_token", "&sort=0&access_token"));
            requests.Add(request.Replace("&access_token", "&sort=1&access_token"));
            continue;
        }

        //необработанные параметры
        //country=VARparam_country&
        //city=VARparam_city&
        //group_id
        //interests";

        //в текущем запросе нечего расщеплять, добавим его в конец списка
        project.SendInfoToLog("Нечего расщеплять в запросе " + request);
        project.SendInfoToLog("Пропускаем его и ищем следующий запрос...");
       
        requests.Add(request);
    }

    project.Variables["resultsInRecentRequest"].Value = answersForecast.ToString();
    project.SendInfoToLog("Расщепление завершено в " + splitCounter + " шагов");
    project.SendInfoToLog("Ожидаемое количество ответах в будущих запросах, в среднем " + answersForecast);
    project.SendInfoToLog("В итоге запросов в списке стало: " + requests.Count);
    return requests.Count;
 

Manless

Client
Регистрация
09.01.2014
Сообщения
186
Благодарностей
33
Баллы
28
так это ссыль на получение токена...токен я умею получать) непонятно что делать когда получаешь ссыль для загрузки картинок :(
 

Voldemar

Client
Регистрация
13.04.2014
Сообщения
478
Благодарностей
56
Баллы
28
Код:
https://api.vk.com/method/wall.post?owner_id=-{-Variable.group_id-}&message={-Variable.text-}&attachments={-Variable.photo-},{-Variable.video-},{-Variable.audio-},{-Variable.doc-}&access_token={-Variable.AccessToken-}
 

MAlexxx19

Client
Регистрация
22.03.2014
Сообщения
2
Благодарностей
1
Баллы
3
Здравствуйте. Помогите пожалуйста с загрузкой картинок в Вконтакте. Не могу разобраться как отправлять данные картинки в POST запросе. Использую этот метод photos.getUploadServer. Ответ приходит, в ответе URL, album_id, user_ID, но нет photos_list. Если можно пример POST запроса с данными и как разобрать ответ.
 
  • Спасибо
Реакции: frion-seo

st1ve

Client
Регистрация
04.03.2013
Сообщения
30
Благодарностей
1
Баллы
8
Я так понимаю с использованием api проблема решилась?
 

MAlexxx19

Client
Регистрация
22.03.2014
Сообщения
2
Благодарностей
1
Баллы
3
к сожалению нет... пришлось отказаться от API в плане загрузок картинок и использовать загрузку через Браузер.
 

execut0r

Client
Регистрация
12.03.2014
Сообщения
259
Благодарностей
270
Баллы
63
Доброго времени суток, друзья!
Подскажите, пожалуйста, откуда берутся в запросах у вк такие переменные как _tstat и rndVer?
Каким образом их найти или сформировать?
Дело в том, что через фидлер снимаю запросы и все хорошо.. кроме этих двух переменных.
Вроде они не критичные, но вдруг нет?
Буду признателен за помощь или наводку куда копать.
Спасибо.
 

frion-seo

Client
Регистрация
27.02.2011
Сообщения
506
Благодарностей
451
Баллы
63
С загрузкой фоток в альбом по API решение не найдено ?
 

panacea

Client
Регистрация
27.04.2015
Сообщения
97
Благодарностей
27
Баллы
18
Ребят помогите разобраться с API вконтакте. Не могу понять, что я делаю не так!? Создал приложение, получаю токен таким образом https://api.vk.com/oauth/authorize?client_id=ID_ПРИЛОЖЕНИЯ&redirekt_url=https://api.vk.com/blank.html&scope=notify,friends,photos,notes,status,wall,messages,ads,nohttps&display=page&v=5.30&response_type=token , но при попытке выполнить запрос с этим токином получаю ошибку "User authorization failed: You should specify sig param for nohttps requests (scope contain nohttps)"
 

execut0r

Client
Регистрация
12.03.2014
Сообщения
259
Благодарностей
270
Баллы
63
У Вас не верно построена строка URL для взятия token'a.
Попробуйте так:
Код:
https://oauth.vk.com/authorize?client_id=1&redirect_uri=https://oauth.vk.com/blank.html&display=page&response_type=token&scope=notify,friends,photos,notes,status,wall,ads,nohttps
Только замените "1" в client_id=1 на свой номер (у вас там вообще было написано "ID_ПРИЛОЖЕНИЯ"!!)
Плюс убрал параметр message у scope - так как к сообщениям имеют доступ только десктопные приложения.
Проверка получения token'a по моей ссылке прошла успешно.
 

panacea

Client
Регистрация
27.04.2015
Сообщения
97
Благодарностей
27
Баллы
18
У Вас не верно построена строка URL для взятия token'a.
Попробуйте так:
Код:
https://oauth.vk.com/authorize?client_id=1&redirect_uri=https://oauth.vk.com/blank.html&display=page&response_type=token&scope=notify,friends,photos,notes,status,wall,ads,nohttps
Только замените "1" в client_id=1 на свой номер (у вас там вообще было написано "ID_ПРИЛОЖЕНИЯ"!!)
Плюс убрал параметр message у scope - так как к сообщениям имеют доступ только десктопные приложения.
Проверка получения token'a по моей ссылке прошла успешно.
Тоже самое. А ID_ПРИЛОЖЕНИЯ - эт я только тут написал
 

panacea

Client
Регистрация
27.04.2015
Сообщения
97
Благодарностей
27
Баллы
18
Плюс убрал параметр message у scope - так как к сообщениям имеют доступ только десктопные приложения.
Так наверное вот в чем проблема. Получается, что через зенопостер например осылать посты на снену в группу через API не получится?
 

panacea

Client
Регистрация
27.04.2015
Сообщения
97
Благодарностей
27
Баллы
18
А нет, это не то.
 

execut0r

Client
Регистрация
12.03.2014
Сообщения
259
Благодарностей
270
Баллы
63
мессадж, на сколько я понимаю, связано с личными сообщениями, к ним имеют доступ только десктопные приложения.
Вы пробовали чисто по моей ссылки пройти? Только замените клиент айди на 2, так как приложение с айди1 уже заблочено вроде как.
Если все работает, значит проблемы не здесь, а в Вашем приложении.
И как я понимаю, для авторизации нужно использовать другой протокол, а не просто получение токена, но и наличие secret ключа.
Вот почитайте - https://vk.com/dev/api_nohttps
Если нет такйо жесткой необходимости, то лучше из scope убрать nohttps
 
  • Спасибо
Реакции: panacea

panacea

Client
Регистрация
27.04.2015
Сообщения
97
Благодарностей
27
Баллы
18
мессадж, на сколько я понимаю, связано с личными сообщениями, к ним имеют доступ только десктопные приложения.
Вы пробовали чисто по моей ссылки пройти? Только замените клиент айди на 2, так как приложение с айди1 уже заблочено вроде как.
Если все работает, значит проблемы не здесь, а в Вашем приложении.
И как я понимаю, для авторизации нужно использовать другой протокол, а не просто получение токена, но и наличие secret ключа.
Вот почитайте - https://vk.com/dev/api_nohttps
Если нет такйо жесткой необходимости, то лучше из scope убрать nohttps
Ух, спасибо огромное! Разобрался, все работает.
 

panacea

Client
Регистрация
27.04.2015
Сообщения
97
Благодарностей
27
Баллы
18
Ещё вопрос появился по API. Через Get всё работает отлично, а вот с Post запросом разобраться не могу. Если не сложно скиньте пример как через Post запрос вызвать метод wall.post
 

execut0r

Client
Регистрация
12.03.2014
Сообщения
259
Благодарностей
270
Баллы
63
Ещё вопрос появился по API. Через Get всё работает отлично, а вот с Post запросом разобраться не могу. Если не сложно скиньте пример как через Post запрос вызвать метод wall.post
Та же фигня - пост не осилил.
Кто знает - научите!
 

Voldemar

Client
Регистрация
13.04.2014
Сообщения
478
Благодарностей
56
Баллы
28
Доброго времени суток, друзья!
Подскажите, пожалуйста, откуда берутся в запросах у вк такие переменные как _tstat и rndVer?
Каким образом их найти или сформировать?
Дело в том, что через фидлер снимаю запросы и все хорошо.. кроме этих двух переменных.
Вроде они не критичные, но вдруг нет?
Буду признателен за помощь или наводку куда копать.
Спасибо.
разобрались что за запросы? tstat интересует, появляется когда на стенку хочу с картинками и видео пост отправить, без этого параметра меди файлы не цепляются
 

execut0r

Client
Регистрация
12.03.2014
Сообщения
259
Благодарностей
270
Баллы
63
К сожалению нет. Никто не подсказал. =(
Скорее всего в JS генерится.
Тут на третий конкурс статей обещают инфу по разбору JS кинуть. Посмотрим что там да как и вернемся к этому вопросу.
 

Voldemar

Client
Регистрация
13.04.2014
Сообщения
478
Благодарностей
56
Баллы
28
К сожалению нет. Никто не подсказал. =(
Скорее всего в JS генерится.
Тут на третий конкурс статей обещают инфу по разбору JS кинуть. Посмотрим что там да как и вернемся к этому вопросу.
в итоге вроде отсылает без него :-)
 

execut0r

Client
Регистрация
12.03.2014
Сообщения
259
Благодарностей
270
Баллы
63

Voldemar

Client
Регистрация
13.04.2014
Сообщения
478
Благодарностей
56
Баллы
28
Можете сюда кинуть POST запрос?
Видимо я что то делаю не так. Не проходит и все тут. =(
что то вроде этого, это через браузер версию:
Код:
https://m.vk.com/wall-{-Variable.ref_id-}?act=post&from=profile&hash={-Variable.post_gr-}&message={-Variable.urlen_text-}&attach1_type=photo&attach1={-Variable.phototype-}&attach2_type=video&attach2={-Variable.videotype-}&_ref={-Variable.group_id-}
 

execut0r

Client
Регистрация
12.03.2014
Сообщения
259
Благодарностей
270
Баллы
63
Только на мобильной версии? На обычной не пробовали?
Мне именно обычная нужна.
 

Voldemar

Client
Регистрация
13.04.2014
Сообщения
478
Благодарностей
56
Баллы
28

execut0r

Client
Регистрация
12.03.2014
Сообщения
259
Благодарностей
270
Баллы
63
Тоже самое пройдет думаю. Главное hash и ref чтобы присутствовали)
Попробуйте.
Насколько я знаю, обычная и мобильная версия существенно отличаются и многое нельзя делать на мобильной версии.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)