Как пригласить пользователя в группу Вконтакте через vk api на PHP?

Добрый день. Есть вопрос, как пригласить пользователя в группу Вконтакте через vk api на PHP? Создал standalone приложение.

969feb45f6e5495ea550d348efac8b6d.png

Написал такой код

<?session_start();?>
<a href="https://oauth.vk.com/authorize?client_id=######&display=page&redirect_uri=http://user4.######.tmweb.ru&scope=wall,friends,offline,groups&response_type=code&v=5.45">Получить доступ</a>

<?php
   
if($_GET['code']){
    
    $code = $_GET['code'];

    if( $curl = curl_init() ) {
        curl_setopt($curl, CURLOPT_URL, 'https://oauth.vk.com/access_token');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, "client_id=5295771&client_secret=7rI7QNkNcHvzut59V7Sg&redirect_uri=http://user4.######.tmweb.ru&code=" . $code);
        $out = curl_exec($curl);
        curl_close($curl);
    }
    
    $access_token = json_decode($out);
        
    if($access_token->access_token){
        $_SESSION['access_token'] = $access_token->access_token;
    }
    
}

if( $curl = curl_init() ) {
    curl_setopt($curl, CURLOPT_URL, 'https://api.vk.com/method/groups.invite');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, "group_id=######&user_id=######&access_token=" . $_SESSION['access_token']);
    $out = curl_exec($curl);
    curl_close($curl);    
}

echo $out;

echo $_SESSION['access_token'];
?>


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

{"error":{"error_code":15,"error_msg":"Access denied: no access to call this method","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"groups.invite"},{"key":"group_id","value":"######"},{"key":"user_id","value":"######"}]}}
  • Вопрос задан
  • 1481 просмотр
Решения вопроса 1
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.
Внимательно почитайте документацию, у ВК она расписана подробнее некуда.

Метод groups.invite:
Данный метод доступен только Standalone-приложениям.


Далее читаете про Standalone авторизацию и видите, что redirect_url должен обязательно быть redirect_uri=https://oauth.vk.com/blank.html

Если Вы сможете вытащить access_token с redirect_uri=https://oauth.vk.com/blank.html, используя php, то сможете использовать данный метод на сайте.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы