- Access denied: no access to call this method. It cannot be called with current scopes. (Code: 15)
- One of the parameters specified was missing or invalid: Violated: link_photo_sizing_rule. No photo given (Code: 100)
- Плагин WordPress: использует стандартные перехватчики (например,Publish_post) для запуска публикации.
- Версия VK API: 5.199
- Токены:
group_token: токен сообщества (предназначен для всех вызовов API, включая wall.post). - user_token: токен пользователя (планировался для загрузки фотографий, но в настоящее время не используется в логике загрузки).
Фрагменты кода (упрощенно):
Вот как выглядит фотография загрузка и отправка сообщений обрабатываются в классе CPA_ВКонтакте:
1. Инициализация и проверка токена (__construct):
public function __construct() {
$options = get_option('cpa_settings');
$this->group_token = $options['vk_group_token'] ?? '';
$this->group_id = $options['vk_group_id'] ?? '';
// user_token is loaded but not used for photos
error_log('CPA VK Construct: group_token ' . (!empty($this->group_token) ? '
}
2. Основной метод отправки (send_post):
public function send_post($post, $is_anniversary = false) {
// ...
$params = [
'owner_id' => -intval($this->group_id),
'from_group' => 1,
'message' => $message,
'v' => $this->api_version
];
// Attempt to upload photos (uses group_token)
$attachments = $this->upload_post_attachments($post->ID);
if (!empty($attachments)) {
$params['attachments'] = implode(',', $attachments);
} else {
// If no photo, add the link as an attachment
$params['attachments'] = get_permalink($post);
}
// Send the post using group_token
$response = $this->vk->wall()->post($this->group_token, $params);
// ...
}
3. Способ загрузки фотографий (upload_post_attachments):
private function upload_post_attachments($post_id) {
// ...
//
if (empty($this->group_token)) { /* ... */ }
// 1. Get upload server (via group_token)
$upload_server = $this->vk->photos()->getWallUploadServer($this->group_token, [
'group_id' => intval($this->group_id)
]);
// 2. Download and upload file to VK server
$temp_file = $this->download_image($photo_url);
$upload_response = $this->upload_file_to_vk($upload_server['upload_url'], $temp_file);
// 3. Save photo to group wall (also via group_token)
$save_response = $this->vk->photos()->saveWallPhoto($this->group_token, [
'group_id' => intval($this->group_id),
'photo' => $upload_response['photo'],
'server' => $upload_response['server'],
'hash' => $upload_response['hash']
]);
// ...
}
Журналы (из вопроса):
[22-Feb-2026 09:57:41 UTC] CPA VK Construct: group_token
[22-Feb-2026 09:57:41 UTC] CPA VK Construct: group_id #0000000
[22-Feb-2026 09:57:41 UTC] CPA VK Construct: VK API client initialized
[22-Feb-2026 09:57:41 UTC] CPA VK (Post ID: 302): Photo upload failed: Access denied: no access to call this method. It cannot be called with current scopes. (Code: 15)
[22-Feb-2026 09:57:41 UTC] CPA VK (Post ID: 302) [DEBUG]: Sending post to VK...
[22-Feb-2026 09:57:41 UTC] CPA VK (Post ID: 302): VK API Error: One of the parameters specified was missing or invalid: Violated: link_photo_sizing_rule. No photo given (Code: 100)
Вопрос:
Ошибка Code: 15 возникает на этапе getWallUploadServer или saveWallPhoto (это подтверждает журнал «Ошибка загрузки фотографии»). Я использую токен группы для всех звонков, включая процесс загрузки фотографий.
- Почему токен группы, который успешно работает для wall.post (в журналах нет ошибок для этого звонка), не имеет необходимых разрешений (scopes) для вызова photos.getWallUploadServer и photos.saveWallPhoto?
- В документации ВК указано, что для загрузки фотографии на стену сообщества требуются разрешения на фотографии и стену, а также токен группы или токен пользователя с правами редактора. Токен группы был создан в настройках сообщества с установленными флажками для фотографий и стены. Разве этого недостаточно?
- Нужно ли мне использовать токен пользователя (user_token) для этапов загрузки (получение сервера и сохранение) или проблема в чем-то другом (например, в разрешениях самого приложения VK ID)?
Подробнее здесь: https://stackoverflow.com/questions/798 ... press-acce
Мобильная версия