Ошибка unknown method passed

помогите пожалуйста поправить запрос. Я хочу собрать записи в группе. Вроде бы согластно документации это правильный запрос, но он постоянно возвращает ‘error_code’: 3, ‘error_msg’: ‘Unknown method passed’

import requests
id_group = 'id'
token = 'token'
version = '5.131'

response = requests.get('https://api.vk.com/method/wall.get?owner_id={}&access_token={}&v={}'.format(id_group, token, version))
response = response.json()
print(response)

В документации эта ошибка «неизвестный метод», но этот метод есть https://vk.com/dev/wall.get

задан 22 апр 2022 в 18:09

Dima's user avatar

Попробуйте вызвать функцию:

import requests


def get_wall_posts(VK_TOKEN: str) -> dict:
    url = 'https://api.vk.com/method/wall.get'
    params = {
        'access_token': VK_TOKEN, # ваш токен
        'owner_id': -1, # id сообщества указывается со знаком - перед цифрами
        'v': '5.131', # версия API
        'count': 1 # сколько постов получить
    }

    response = requests.get(url, params=params)
    return response.json()


wall_posts = get_wall_posts(VK_TOKEN)
print(wall_posts)

Например, тут мы возьмем последний пост из группы ВКонтакте API.
При работе с VK API идентичная ошибка редко, но возникала и решилось все просто отключением IPv6.

ответ дан 29 апр 2022 в 0:38

Dmitry Kuznetsov's user avatar

Привет всем!
В общем пытаюсь передать POST запрос:

r = requests.post('api.vk.com/method/stories.markSeen?stories=500824785_456239034&access_token=193333333333f74b498fa45e41cc62c384baa28db89819e301b3a88cf6b5a460aef408d93de0&v=5.101', params=field)

Что приходит в ответ:

{"error":{"error_code":3,"error_msg":"Unknown method passed","request_params":[{"key":"stories","value":"500824785_456239034"},{"key":"v","value":"5.102"},{"key":"method","value":"stories.markSeen"},{"key":"oauth","value":"1"}]}}

«error»:»need_captcha» не работает

Пример ответа при необходимости ввода CAPTCHA:
{«error»:»need_captcha»,»captcha_sid»:»854844498568″,»captcha_img»:»http://api.vk.com/captcha.php?sid=854844498568&s=1″}

В этом случае необходимо повторить запрос, добавив к нему следующие параметры:
captcha_sid — поле captcha_sid, полученное в предыдущем запросе;
captcha_key — то, что ввёл пользователь.

введите сюда описание изображенияПытаюсь писать бота для ВК, чтобы тот отправлял от моего имени в личные сообщения определенные фразы, триггерясь на заданные слова. И если с личными сообщениями все ок, то в беседах при написании слова-триггера вылазит данная ошибка (название поста).

import sys
sys.path.insert(0, '../')
from vk_api.longpoll import VkLongPoll, VkEventType
import vk_api
from datetime import datetime
import data
import random
import time
login, password = 'еке', 'рке'
vk_session = vk_api.VkApi(token="76676")

session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)

def messages_send(vk_session, id_type, id, message=None, attachment=None, keyboard=None):
    vk_session.method('messages.send', {id_type: id, 'message': message, 'random_id': random.randint(-2147483648, +214783648)})

while True:
    for event in longpoll.listen():
        if event.type == VkEventType.MESSAGE_NEW:
            print('Сообщение пришло в: ' + str(datetime.strftime(datetime.now(), "%H:%M:%S")))
            print('Текст сообщения: ' + str(event.text))
            print(event.user_id)
            response = event.text.lower()
            if event.from_user:
                if response == "удачу":
                    vk_session.method('messages.send', {'user_id': event.user_id, 'message': 'благословение удачи', 'random_id': 0})

            elif event.from_chat and not event.from_me:
                if response == "тест":
                    messages_send(vk_session, 'chat_id', event.chat_id, message='фываыф')

Egorchik Letov

0 / 0 / 0

Регистрация: 20.08.2021

Сообщений: 8

1

.NET 6

28.06.2022, 22:05. Показов 395. Ответов 1

Метки .net 6 (Все метки)


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using VkNet;
using VkNet.Model;
using VkNet.Model.RequestParams;
using VkNet.Utils;
 
interface Ava {
   class Program {
      static void Main(string[] args) {
         var api = new VkApi();
         try {
            VkNet(api);
         } catch (Exception ex) {
            Console.WriteLine(ex.Message);
         }
      }
 
      static void VkNet(VkApi app) {
         app.Authorize(new ApiAuthParams {
            AccessToken = "здесь мой токен",
         });
         var post = app.Wall.Post(new WallPostParams{
            OwnerId = *****,
            Message = "Это *** рейд",
         });
      }
   }
}

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

164 / 50 / 36

Регистрация: 13.04.2012

Сообщений: 581

29.06.2022, 16:25

2

вот это шо такое? бота для контакта делаешь? что бы спамить, да?

0


«Unknown method passed» error occurs in vkontakte-plugin

This bug affects 1 person

Affects Status Importance Assigned to Milestone


Gwibber

Invalid

Undecided

Unassigned

Bug Description

Related branches

lp:~seriy-pr/gwibber/vkontakte-ru-plugin

Ken VanDine:
Needs Fixing

on 2011-10-13

Diff: 1212 lines (+1149/-2)

7 files modified

.bzrignore (+0/-2)
gwibber/microblog/plugins/vkontakte/__init__.py (+593/-0)
gwibber/microblog/plugins/vkontakte/gtk/vkontakte/__init__.py (+185/-0)
gwibber/microblog/plugins/vkontakte/ui/gwibber-accounts-vkontakte.ui (+227/-0)
gwibber/microblog/plugins/vkontakte/ui/icons/scalable/vkontakte.svg (+55/-0)
gwibber/microblog/plugins/vkontakte/vk_api_wrapper.py (+87/-0)
gwibber/microblog/util/const.py.in (+2/-0)

api

To post a comment you must log in.

  • Report a bug

This report contains
Public
information

Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.

The unknown method error is a WebDriver error that occurs when the driver does not recognize the HTTP request method used for the endpoint.

WebDriver provides a largely REST-ish API and not all endpoints in this API has GET, POST, and DELETE methods. This error occurs when you try to call an endpoint with an HTTP request method it does not support.

Examples

The New Session command provides a POST request endpoint which lets you create new WebDriver sessions:

% curl -d '{}' http://localhost:4444/session
{"sessionId":"d4605710-5a4e-4d64-a52a-778bb0c31e00","value":{"XULappId":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","acceptSslCerts":false,"appBuildId":"20160913030425","browserName":"firefox","browserVersion":"51.0a1","command_id":1,"platform":"LINUX","platformName":"linux","platformVersion":"4.9.0-1-amd64","processId":17474,"proxy":{},"raisesAccessibilityExceptions":false,"rotatable":false,"specificationLevel":0,"takesElementScreenshot":true,"takesScreenshot":true,"version":"51.0a1"}}

It also implements the DELETE method for ending a session:

% curl -X DELETE http://localhost:4444/session/d4605710-5a4e-4d64-a52a-778bb0c31e00
{}

But it does not, for example, provide a GET method, and this will consequently return an unknown method error:

% curl http://localhost:4444/session/650f9df3-740e-314c-958d-307e41752fae
{"value":{"error":"unknown command","message":"GET /session/650f9df3-740e-314c-958d-307e41752fae did not match a known command","stacktrace":""}}%

See also

Часто начинающие пытаются использовать все методы ВКонтакте API с сервера (PHP).
В этой статье я опишу почему при создании Flash/IFrame-приложений не все методы можно вызывать с сервера и как определить можно ли вызвать конкретный метод API с сервера.

Существует 2 способа взаимодействия с ВКонтакте API:

На стороне клиента (JavaScript)
На стороне сервера (PHP и др. серверные языки)
Некоторые методы можно вызывать только на стороне клиента, а некоторые только на стороне сервера. Большинство методов ВКонтакте API можно использовать только на стороне клиента.

Почему не все методы можно вызвать на стороне клиента

Со стороны клиента нельзя вызывать secure.* методы. Эти методы нужно вызывать только с сервера, потому что вызывать их со стороны клиента не безопасно. Злоумышленник сможет получить доступ к балансу приложения, возможность отправлять уведомление пользователям и другие секретные данные.

Почему не все методы можно вызвать с сервера

При авторизации пользователя ВКонтакте, в браузере пользователя храниться информация, по которой сайт ВКонтакте идентифицирует пользователя.
Сервер (хостинг) — это не компьютер пользователя. Это отдельный компьютер. На нем не хранится информация пользователя. Вызывая методы API с сервера, сайт ВКонтакте не может идентифицировать пользователя.
Если метод работает с какими-то данными конкретного пользователя, то API должно знать с данными какого пользователя нужно работать. Если в методе есть параметр для передачи ID пользователя, то можно попробовать вызвать метод с сервера.

Доступен ли метод с сервера можно узнать, прочитав документацию или попробовав его вызвать. Но если в документации не описана возможность вызывать метод с серверной стороны, то со временем он может перестать работать с сервера.
Если при вызове метода с сервера вы получаете ответ:

[error_code] => 3
[error_msg] => Unknown method passed
то метод не работает с сервера.

Методы, вызываемые со стороны клиента

Все методы ВКонтакте API, кроме secure.* методов

Методы, вызываемые с серверной стороны

Официально (описано в документации):

secure.*
friends.get
Неофициально:

isAppUserusers.get
getUserSettings
likes.getList
groups.getById
groups.isMember
photos.getAlbums
photos.get
wall.get
wall.getById
newsfeed.search
storage.get
storage.set
getServerTime

  • Ошибка unknown hard error windows 10 как исправить
  • Ошибка unknown file version пятница 13
  • Ошибка unknown file version enlisted
  • Ошибка unknown error перевод
  • Ошибка unknown error during init delphi