AleksMey
@AleksMey
Пытаюсь разобраться

Откуда брать token для изменения статуса в группе вк?

Пишу код для парсинга курса биткоина в статус сообщества вк. Проблема возникает в получении token. Как правильно получить токен для изменения статуса в паблике вк?

<html><body>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

<?php
  //Твой токен
 define('token_user', '1d6a7bfc26c509ad75ba904814029b2722c1ab564aeff06bd002e81209814b3c971cc018bf4ca419de365');


$tick = file_get_contents('https://api.coinmarketcap.com/v1/ticker/?limit=1');
//валюта Dogecoin на 19 позиции, поэтому используем ?limit=1
$data = json_decode($tick, TRUE);

$bit = $data[0]["price_usd"];
//$data[0] - здесь позиция валюты в списке, в массиве счет начинается с нуля, не забывайте!
echo "<b>Bitcoin:</b> ".$bit."<br>";


# склонение слов в зависимости от числа
//$num = $interval->days;
//$arWords = array('день','дня','дней');
function declension_words($num,$arWords){
    if ($num < 21){
        if ($num == 1)
            $w = $arWords[0];
        elseif ($num > 1 && $num < 5)
            $w = $arWords[1];
        else
            $w = $arWords[2];
        return $w;
    } else {
        $l = (int)substr($num, -1);
        if ($l == 1)
            $w = $arWords[0];
        elseif ($l > 1 && $l < 5)
            $w = $arWords[1];
        else
            $w = $arWords[2];
        return $w;
    }
}


   // $_status =  $interval->format('Осталось %R%a '.declension_words($num,$arWords).' до дома');
   // $_status = str_replace('+','', $_status );


$_status = "Это текст статуса ".$bit;
    
     function metog_get ($_metod= null, $_paramm = null) {
      
        $url = trim($_metod.http_build_query($_paramm));
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, false);
        $data = curl_exec($curl);
        curl_close($curl);  
      
        if ($data != null) {
           return $data;
        } else {
           return 'Error = ' .$data;
        }
   }

    $_param = array('text'          =>$_status ,
                    'group_id'          => '156383365' ,
                    'access_token'  =>token_user
                    );
    $_response = metog_get('https://api.vk.com/method/status.set?',$_param); 
   //"response": 1
    $_id_status = json_decode($_response)-> response;
    if (is_int($_id_status) == 1 ) {
        echo 'OK = ' .$_status ;
    } else{
        echo ('Er = '.$_id_status);
    }
    
?>
</body>
</html>
  • Вопрос задан
  • 313 просмотров
Решения вопроса 1
Ahen
@Ahen
Универсальный дилетант
Этот метод можно вызвать с ключом доступа пользователя, полученным в Standalone-приложении через Implicit Flow. Требуются права доступа: status.

Создаём standalone приложение вк, авторизуемся с личной страницы, являющейся админом паблика, со скопом offline,status (оффлайн для постоянного ключа), прямо из браузера.
https://vk.com/dev/implicit_flow_user

Парсим, обновляем статус, ловим капчи...)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы