Сбор комментариев к постам через execute API VK на python
Пытаюсь разобраться как работает execute, но как то не поддается мне это. Из БД я получаю список всех групп пользователя, перебираю их и получаю id постов групп так же из БД
user_id = xxx
groups_id = [i.group_id
for i in session.query(Groups_user).filter(Groups_user.user_id == get_system_id(session, user_id)).all()]
for group_id in groups_id:
group_post_id = [get_id_vk(session, i.post_group_id)
for i in session.query(Group_post).filter(Group_post.group_id == group_id).all()]
После получения id постов групп, нужно вызвать функцию execute для получения комментариев к данным постам, и как это сделать я абсолютно не понимаю. Я знаю как это сделать без execute но это занимает много времени. Ткните меня лицом в то как это должно быть.
Я нашел пример рабочего кода, но не могу его адаптировать под себя.
code = """return API.wall.get({
"owner_id": "",
"domain": "itmoru",
"offset": 0,
"count": 1,
"filter": "owner",
"extended": 0,
"fields": "",
"v": "5.126"
});"""
response = requests.post(
url="https://api.vk.com/method/execute",
data={
"code": code,
"access_token": "xxx",
"v": "5.126"
}
)
Пока стою написал только такой не рабочий код:
groups_id = [i.group_id
for i in session.query(Groups_user).filter(Groups_user.user_id == get_system_id(session, user_id)).all()]
for group_id in groups_id:
group_post_id = [get_id_vk(session, i.post_group_id)
for i in session.query(Group_post).filter(Group_post.group_id == group_id).all()]
for i in group_post_id:
code = f"""return API.wall.getComments({
"owner_id": "{group_id}",
"count": 100,
"post_id": "{i}",
"v": "5.126"
});"""
response = requests.post(
url="https://api.vk.com/method/execute",
data={
"code": code,
"access_token": "xxx",
"v": "5.126"
})
ic(response.json())
ValueError: Invalid format specifier