Проверка групп ВК на возможность комментить

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43
Всем привет. Поставил задачу сделать через АПИ проверку на то, можно ли комментить на стене в группе.
Задолбался искать этот метод! Тут https://vk.com/dev/groups его не нашел.

Так же хотел сделать парсер групп по нужному слову не через WEB морду, а через API.
Вот нашел метод https://vk.com/dev/groups.search , но он без секретного ключа не работает.

Создал своё приложение (просто создал стэнд алон приложуху, в плане чисто название для неё написал :-) ) у меня есть ID приложения и "Защищенный ключ". как мне получить секретный ключ теперь? какие дальнейшие действия? может кто поделится последовательностью запросов? и можно ли вообще как-то без секретного ключа обойтись? (но не через ВЭБ)
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Не помню где точно описывается, но в своих шаблонах использую такой запрос

https://oauth.vk.com/oauth/authorize?client_id=111индификатор приложения111&scope=notify,friends,photos,audio,video,docs,notes,pages,status,groups,messages&redirect_url=https://api.vk.com/blank.html&display=page&v=5.30&response_type=token

Вводите логин и пароль, авторизуетесь. После этого из адресной строки паршу токен.
 

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>VK | Login</title>
      <link rel="stylesheet" type="text/css" href="https://vk.com/css/al/fonts_cnt.css?2696088870" />
  <link rel="stylesheet" type="text/css" href="https://vk.com/css/al/common.css?3926032117" />
    <link type="text/css" rel="stylesheet" href="https://vk.com/css/api/oauth_popup.css?417312148"></link>
    <script type="text/javascript" language="javascript" src="https://vk.com/js/api/common_light.js?2102079137"></script>
    <script type="text/javascript" language="javascript">// <![CDATA[
      function allow(button) {
        if (isButtonLocked(button)) return false;
        lockButton(button);

        var addr = '';
        if (isChecked(ge('allow_notifications'))) {
          addr = '&notify=1';
        }
        if (isChecked(ge('denied_email'))) {
          addr = '&email_denied=1';
        }
        location.href = "https://login.vk.com/?act=grant_access&client_id=xxx&settings=400543&redirect_uri=&response_type=token&group_ids=&direct_hash=2daaafc433c01dec3d&token_type=0&v=5.30&state=&display=page&ip_h=2bb503668f9d6108fe&hash=bae251f685ee2c7af0&https=1"+addr;
        return false;
      }

      function cancel() {
        location.href = "https://login.vk.com/?act=grant_access&client_id=xxx&settings=400543&redirect_uri=&response_type=token&group_ids=&direct_hash=2daaafc433c01dec3d&token_type=0&v=5.30&state=&display=page&ip_h=2bb503668f9d6108fe&hash=bae251f685ee2c7af0&https=1&cancel=1";
        return false;
      }

      function login(button) {
        if (isButtonLocked(button)) return false;
        lockButton(button);
        ge('login_submit').submit();
      }

      function doResize(onResize) {
        onResize && setTimeout(function() {
          doResize()
        }, 100);

        if (!hasClass(document.body, 'oauth_centered') && !onResize) {
          if (window.outerHeight !== void 0) {
            var panelH = (window.outerHeight - window.innerHeight) | 0,
              panelW = (window.outerWidth - window.innerWidth) | 0;
          } else {
            var panelH = 50,
              panelW = 0;
          }
          var contentH = Math.max(ge('oauth_wrap_content').offsetHeight, 430),
            contentW = 655;
          window.resizeTo(contentW + panelW, contentH + panelH);
          window.moveTo(
            (screen.width - contentW) / 2 + (screen.availLeft | 0),
            ((screen.height - contentH) / 2) + (screen.availTop | 0)
          );
        }
      }

      function toggleEmailPrivacy() {
        checkbox('denied_email');
        if (!isChecked('denied_email')) {
          hide('denied_email');
          show('allowed_email');
        } else {
          hide('allowed_email');
          show('denied_email');
        }
      }

      if (parent && parent != window) {
        location.href = "https://oauth.vk.com/blank.html";
      }

   
    // ]]></script>
  </head>

  <body onload="doResize();" class="VK1 oauth_centered">
    <script>
      if (window.devicePixelRatio >= 2) document.body.className += ' is_2x';
    </script>
    <div class="oauth_wrap">
      <div class="oauth_wrap_inner">
        <div class="oauth_wrap_content" id="oauth_wrap_content">
          <div class="oauth_head">
  <a class="oauth_logo fl_l" href="https://vk.com" target="_blank"></a>
  <div id="oauth_head_info" class="oauth_head_info fl_r">
    <a class="oauth_reg_link" href="https://vk.com/join?reg=1" target="_blank">Sign up</a>
  </div>
</div>

<div class="oauth_content box_body clear_fix">
  <div class="box_msg_gray box_msg_padded">You should log in to <b>VK</b> to proceed.</div>

  <form method="POST" id="login_submit" action="https://login.vk.com/?act=login&soft=1">
    <div class="oauth_form">

   

      <div class="oauth_form_login">
        <input type="hidden" name="ip_h" value="2bb503668f9d6108fe" />
        <input type="hidden" name="lg_h" value="5f59abbf883cdd6272" />
        <input type="hidden" name="_origin" value="https://oauth.vk.com" />
        <input type="hidden" name="to" value="aHR0cHM6Ly9vYXV0aC52ay5jb20vYXV0aG9yaXplP2NsaWVudF9pZD01NzUwOTc5JnJlZGlyZWN0X3VyaT0mcmVzcG9uc2VfdHlwZT10b2tlbiZzY29wZT00MDA1NDMmdj01LjMwJnN0YXRlPSZkaXNwbGF5PXBhZ2U-" />
        <input type="hidden" id="expire" name="expire" value="0" />

        <div class="oauth_form_header">Phone or email</div>
        <input type="text" class="oauth_form_input dark" name="email" value="">
        <div class="oauth_form_header">Password</div>
        <input type="password" class="oauth_form_input dark" name="pass" />

     

        <button class="flat_button oauth_button button_wide" id="install_allow" type="submit" onclick="return login(this);">Log in</button>
        <a class="oauth_forgot" href="https://vk.com/restore" target="_blank">Forgot your password?</a>
        <input type="submit" name="submit_input" class="unshown">
      </div>
    </div>
  </form>
</div>
        </div>
      </div>
    </div>
  </body>
</html>
Где тут токен?)
Это я использовал ваш метод, а вместо 111айди приложения111 подставил айди моего приложения)
 

WEISS

Client
Регистрация
11.12.2015
Сообщения
115
Благодарностей
25
Баллы
28
Всем привет. Поставил задачу сделать через АПИ проверку на то, можно ли комментить на стене в группе.
Задолбался искать этот метод! Тут https://vk.com/dev/groups его не нашел.

Так же хотел сделать парсер групп по нужному слову не через WEB морду, а через API.
Вот нашел метод https://vk.com/dev/groups.search , но он без секретного ключа не работает.

Создал своё приложение (просто создал стэнд алон приложуху, в плане чисто название для неё написал :-) ) у меня есть ID приложения и "Защищенный ключ". как мне получить секретный ключ теперь? какие дальнейшие действия? может кто поделится последовательностью запросов? и можно ли вообще как-то без секретного ключа обойтись? (но не через ВЭБ)
Без секретного ключа
GET_запрос -
Код:
https://api.vk.com/method/groups.getById.xml?group_id={-Variable.ID-}&fields=can_post&access_token={-Variable.access_token-}&v=5.60
а потом парсим
Код:
(?<=\ <can_post>).*?(?=</can_post>)
1 - можно, 0- нельзя
 
  • Спасибо
Реакции: Porosenok

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43
Без секретного ключа
GET_запрос -
Код:
https://api.vk.com/method/groups.getById.xml?group_id={-Variable.ID-}&fields=can_post&access_token={-Variable.access_token-}&v=5.60
а потом парсим
Код:
(?<=\ <can_post>).*?(?=</can_post>)
1 - можно, 0- нельзя
Спасибо большое. Убрал из вашего запроса &access_token={-Variable.access_token-} , но увы это всё же не то. Этот запрос проверяет может ли пользователь оставлять посты в паблике, на сколько я понял. А мне нужно проверка на комментарии(
Потому что при проверке даже группа в которой коменты открыты была со значением "<is_closed>0</is_closed>"


И если возможно, подскажите вот по поводу этого запроса
https://api.vk.com/method/groups.search.xml?q=music&count=2&v=5.60

он возращает ошибку что нет токена.
Код:
<?xml version="1.0" encoding="utf-8"?>
<error>
<error_code>5</error_code>
<error_msg>User authorization failed: no access_token passed.</error_msg>
<request_params list="true">
  <param>
   <key>oauth</key>
   <value>1</value>
  </param>
  <param>
   <key>method</key>
   <value>groups.search.xml</value>
  </param>
  <param>
   <key>q</key>
   <value>music</value>
  </param>
  <param>
   <key>count</key>
   <value>2</value>
  </param>
  <param>
   <key>v</key>
   <value>5.60</value>
  </param>
</request_params>
</error>
Тут без него никак?(
 
Последнее редактирование:

WEISS

Client
Регистрация
11.12.2015
Сообщения
115
Благодарностей
25
Баллы
28
[QUOTE = "S16er1um, должность: 240633, член: 13395"] Спасибо большое. Убрал из вашего запроса & access_token = {- Variable.access_token-}, но увы это всё же не то. Этот запрос проверяет может ли пользователь оставлять посты в паблике, на сколько я понял. А мне нужно проверка на комментарии (
Потому что при проверке даже группа в которой коменты открыты была со значением "<is_closed> 0 </ is_closed>"


И если возможно, подскажите вот по поводу этого запроса
https://api.vk.com/method/groups.search.xml?q=music&count=2&v=5.60

он возращает ошибку что нет токена.
Код:
 <? XML версия = "1.0" кодирование = "UTF-8"?>
<Ошибка>
<Error_code> 5 </ error_code>
<Error_msg> авторизации пользователя не удалось: не access_token не прошло </ error_msg>.
<Список request_params = "истинный">
  <PARAM>
   <Ключ> OAuth </ ключ>
   <Значение> 1 </ значение>
  </ PARAM>
  <PARAM>
   <Ключ> метод </ ключ>
   <Значение> groups.search.xml </ значение>
  </ PARAM>
  <PARAM>
   <Ключ> д </ ключ>
   <Значение> музыка </ значение>
  </ PARAM>
  <PARAM>
   <Ключ> счетчик </ ключ>
   <Значение> 2 </ значение>
  </ PARAM>
  <PARAM>
   <Ключ> v </ ключ>
   <Значение> 5.60 </ значение>
  </ PARAM>
</ Request_params>
</ Ошибка>
[/КОД]
Тут без него никак? ([/ QUOTE]
 

WEISS

Client
Регистрация
11.12.2015
Сообщения
115
Благодарностей
25
Баллы
28

Вложения

Последнее редактирование:
  • Спасибо
Реакции: S16er1um

WEISS

Client
Регистрация
11.12.2015
Сообщения
115
Благодарностей
25
Баллы
28
1. Так комменты можно везде писать, я не нашел в настройках групп где можно их ограничить.
2. Обязательно нужен access_token, без него ничего не выдернешь
GET_запрос такой
Код:
https://api.vk.com/method/groups.search?q={-Variable.q-}&sort={-Variable.sort-}&count=1000&offset={-Variable.k_1-}&type=group&v=5.50&access_token={-Variable.access_token-}
 

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43
1. Так комменты можно везде писать, я не нашел в настройках групп где можно их ограничить.
2. Обязательно нужен access_token, без него ничего не выдернешь
GET_запрос такой
Код:
https://api.vk.com/method/groups.search?q={-Variable.q-}&sort={-Variable.sort-}&count=1000&offset={-Variable.k_1-}&type=group&v=5.50&access_token={-Variable.access_token-}
1. ну вот вам пример группы, где нельзя комментить https://vk.com/ihank к примеру.
2. жаль((( спасибо. запрос я сам знал, просто именно с токеном проблема. я не знаю как его получить. как написал выше есть приложуха только созданная (у которой есть лишь название) и на этом всё(

за текстовый файл вам тоже спасибо) но это я для примера кидал группу. она мне вообще не нужна
 

WEISS

Client
Регистрация
11.12.2015
Сообщения
115
Благодарностей
25
Баллы
28
1. ну вот вам пример группы, где нельзя комментить https://vk.com/ihank к примеру.
2. жаль((( спасибо. запрос я сам знал, просто именно с токеном проблема. я не знаю как его получить. как написал выше есть приложуха только созданная (у которой есть лишь название) и на этом всё(

за текстовый файл вам тоже спасибо) но это я для примера кидал группу. она мне вообще не нужна
Интересно даже - посмотрю.
А токен очень просто.
Бери ID своего приложения вставляй сюда
Код:
https://api.vk.com/oauth/authorize?client_id=ID_своего приложения&display=page&redirect_uri=https://vk.com/editapp&scope=ads,audio,docs,email,friends,groups,market,messages,notes,notifications,notify,offers,offline,pages,photos,questions,stats,status,video,wall&response_type=token&v=5.50
жми Enter - далее "разрешаю"и в URL берем токен
 
  • Спасибо
Реакции: S16er1um

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Прикладываю кусок кода, при помощи которого я получаю токен. В переменной пропишите id приложения. Токен парсится не из исходного кода, а из адресной сроки.
 

Вложения

  • Спасибо
Реакции: S16er1um

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43
О боже, какой же я идиот. А я гет запросы слал используя просто экшен "GET". А нужно было через "Перейти на сайт" сделать. Спасибо мужики.
@WEISS ты мне с самого начала начал правильно обьяснять но я не понимал сути. Пихал то, что ты говорил в ГЕТ запрос и думал почему ничего не выходит.
@molotok спасибо за шаб. Именно благодаря ему я понял свой промах:-)
Ещё такой вопрос! Токен на всегда выдаётся или он временный?
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
О боже, какой же я идиот. А я гет запросы слал используя просто экшен "GET". А нужно было через "Перейти на сайт" сделать. Спасибо мужики.
@WEISS ты мне с самого начала начал правильно обьяснять но я не понимал сути. Пихал то, что ты говорил в ГЕТ запрос и думал почему ничего не выходит.
@molotok спасибо за шаб. Именно благодаря ему я понял свой промах:-)
Ещё такой вопрос! Токен на всегда выдаётся или он временный?
Временный, конечно
 
  • Спасибо
Реакции: S16er1um

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