-
Notifications
You must be signed in to change notification settings - Fork 7
/
VK.Errors.pas
214 lines (200 loc) · 17.9 KB
/
VK.Errors.pas
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
unit VK.Errors;
interface
uses
System.Generics.Collections;
type
TVkErrors = class(TDictionary<Integer, string>)
procedure Fill;
function Get(const Code: Integer; const Default: string = ''): string;
end;
const
//Error Codes
VK_ERROR_UNKNOWN = 1;
VK_ERROR_APP_OFF = 2;
VK_ERROR_INVALID_METHOD = 3;
VK_ERROR_INVALID_SIGNATURE = 4;
VK_ERROR_INVALID_TOKEN = 5;
VK_ERROR_REQUESTLIMIT = 6;
VK_ERROR_APP_PERMISSIONS = 7;
VK_ERROR_INVALID_QUERY = 8;
VK_ERROR_TOO_MANY_SIMILAR_ACTIONS = 9;
VK_ERROR_INTERNAL_SERVER = 10;
VK_ERROR_TEST_MODE = 11;
VK_ERROR_CAPTCHA = 14;
VK_ERROR_ACCESS_DENIED = 15;
VK_ERROR_ACCESS_DENIED_POST = 214;
VK_ERROR_HTTPS_NEEDED = 16;
VK_ERROR_VALIDATION_REQUIRED = 17;
VK_ERROR_CONFIRM = 24;
VK_ERROR_TOKEN_CONFIRM = 25;
VK_ERROR_MORE_CONFIRM = 26;
var
VkErrors: TVkErrors;
implementation
uses
System.SysUtils, System.StrUtils;
{ TVkErrors }
procedure TVkErrors.Fill;
begin
Add(VK_ERROR_UNKNOWN, 'Произошла неизвестная ошибка. Попробуйте повторить запрос позже');
Add(VK_ERROR_APP_OFF, 'Приложение выключено. Необходимо включить приложение в настройках https://vk.com/editapp?id={Ваш API_ID} или использовать тестовый режим (test_mode=1)');
Add(VK_ERROR_INVALID_METHOD, 'Передан неизвестный метод. Проверьте, правильно ли указано название вызываемого метода: https://vk.com/dev/methods');
Add(VK_ERROR_INVALID_SIGNATURE, 'Неверная подпись');
Add(VK_ERROR_INVALID_TOKEN, 'Авторизация пользователя не удалась. Убедитесь, что Вы используете верную схему авторизации');
Add(VK_ERROR_REQUESTLIMIT, 'Слишком много запросов в секунду. Задайте больший интервал между вызовами или используйте метод execute. Подробнее об ограничениях на частоту вызовов см. на странице https://vk.com/dev/api_requests');
Add(VK_ERROR_APP_PERMISSIONS, 'Нет прав для выполнения этого действия. Проверьте, получены ли нужные права доступа при авторизации. Это можно сделать с помощью метода account.getAppPermissions');
Add(VK_ERROR_INVALID_QUERY, 'Неверный запрос. Проверьте синтаксис запроса и список используемых параметров (его можно найти на странице с описанием метода)');
Add(VK_ERROR_TOO_MANY_SIMILAR_ACTIONS, 'Слишком много однотипных действий. Нужно сократить число однотипных обращений. Для более эффективной работы Вы можете использовать execute или JSONP');
Add(VK_ERROR_INTERNAL_SERVER, 'Произошла внутренняя ошибка сервера. Попробуйте повторить запрос позже');
Add(VK_ERROR_TEST_MODE, 'В тестовом режиме приложение должно быть выключено или пользователь должен быть залогинен. Выключите приложение в настройках https://vk.com/editapp?id={Ваш API_ID}');
Add(VK_ERROR_CAPTCHA, 'Требуется ввод кода с картинки (Captcha)');
Add(VK_ERROR_ACCESS_DENIED, 'Доступ запрещён. Убедитесь, что Вы используете верные идентификаторы, и доступ к контенту для текущего пользователя есть в полной версии сайта');
Add(VK_ERROR_HTTPS_NEEDED, 'Требуется выполнение запросов по протоколу HTTPS, т.к. пользователь включил настройку, требующую работу через безопасное соединение'#13#10 +
'Чтобы избежать появления такой ошибки, в Standalone-приложении Вы можете предварительно проверять состояние этой настройки у пользователя методом account.getInfo');
Add(VK_ERROR_VALIDATION_REQUIRED, 'Требуется валидация пользователя. Действие требует подтверждения — необходимо перенаправить пользователя на служебную страницу для валидации');
Add(18, 'Страница удалена или заблокирована. Страница пользователя была удалена или заблокирована');
Add(19, 'Контент недоступен/Для сообщества заблокирована загрузка историй');
Add(20, 'Данное действие запрещено для не Standalone приложений. Если ошибка возникает несмотря на то, что Ваше приложение имеет тип Standalone, убедитесь, что при авторизации Вы используете redirect_uri=https://oauth.vk.com/blank.html');
Add(21, 'Данное действие разрешено только для Standalone и Open API приложений');
Add(22, 'Ошибка загрузки');
Add(23, 'Метод был выключен. Все актуальные методы ВК API, которые доступны в настоящий момент, перечислены здесь: https://vk.com/dev/methods');
Add(VK_ERROR_CONFIRM, 'Требуется подтверждение со стороны пользователя');
Add(27, 'Ключ доступа сообщества недействителен');
Add(28, 'Ключ доступа приложения недействителен');
Add(29, 'Достигнут количественный лимит на вызов метода Подробнее об ограничениях на количество вызовов см. на странице https://vk.com/dev/data_limits');
Add(30, 'Профиль является приватным. Информация, запрашиваемая о профиле, недоступна с используемым ключом доступа');
Add(33, 'Not implemented yet');
Add(100, 'Один из необходимых параметров был не передан или неверен. Проверьте список требуемых параметров и их формат на странице с описанием метода');
Add(101, 'Неверный API ID приложения. Найдите приложение в списке администрируемых на странице https://vk.com/apps?act=settings и укажите в запросе верный API_ID (идентификатор приложения)');
Add(103, 'Превышено ограничение');
Add(104, 'Not found');
Add(113, 'Неверный идентификатор пользователя. Убедитесь, что Вы используете верный идентификатор. Получить ID по короткому имени можно методом utils.resolveScreenName');
Add(114, 'Недопустимый идентификатор альбома');
Add(118, 'Недопустимый сервер');
Add(119, 'Недопустимое название');
Add(121, 'Неверный хэш');
Add(122, 'Неверные идентификаторы фотографий');
Add(125, 'Неверный идентификатор группы');
Add(129, 'Недопустимый формат фотографии');
Add(140, 'Страница не найдена');
Add(141, 'Нет доступа к странице');
Add(148, 'Пользователь не установил приложение в левое меню');
Add(150, 'Неверный timestamp. Получить актуальное значение Вы можете методом utils.getServerTime');
Add(180, 'Заметка не найдена');
Add(181, 'Нет доступа к заметке');
Add(182, 'Вы не можете оставлять комментарии к этой заметке');
Add(183, 'Нет доступа к комментарию');
Add(200, 'Доступ к альбому запрещён. Убедитесь, что Вы используете верные идентификаторы (для пользователей owner_idположительный, для сообществ — отрицательный), и доступ к запрашиваемому контенту для текущего пользователя есть в полной версии сайта');
Add(201, 'Доступ к аудио запрещён. Убедитесь, что Вы используете верные идентификаторы (для пользователей owner_idположительный, для сообществ — отрицательный), и доступ к запрашиваемому контенту для текущего пользователя есть в полной версии сайта');
Add(203, 'Доступ к группе запрещён. Убедитесь, что текущий пользователь является участником или руководителем сообщества (для закрытых и частных групп и встреч)');
Add(204, 'Нет доступа');
Add(210, 'Нет доступа к записи');
Add(211, 'Нет доступа к комментариям на этой стене');
Add(212, 'Access to post comments denied');
Add(214, 'Нет прав на добавление поста. Превышен лимит на число публикаций в сутки, либо на указанное время уже запланирована другая запись, либо для текущего пользователя недоступно размещение записи на этой стене');
Add(219, 'Рекламный пост уже недавно добавлялся');
Add(220, 'Слишком много получателей');
Add(221, 'Пользователь выключил трансляцию названий аудио в статус');
Add(222, 'Запрещено размещать ссылки');
Add(224, 'Слишком много рекламных постов');
Add(225, 'Донат отключен');
Add(250, 'Нет доступа к опросу');
Add(251, 'Недопустимый идентификатор опроса');
Add(252, 'Недопустимый идентификатор ответа');
Add(253, 'Access denied, please vote first');
Add(260, 'Access to the groups list is denied due to the user''s privacy settings');
Add(300, 'Альбом переполнен. Перед продолжением работы нужно удалить лишние объекты из альбома или использовать другой альбом');
Add(302, 'Создано максимальное количество альбомов');
Add(500, 'Действие запрещено. Вы должны включить переводы голосов в настройках приложения. Проверьте настройки приложения: https://vk.com/editapp?id={Ваш API_ID}§ion=payments');
Add(504, 'Not enough money on owner''s balance');
Add(600, 'Нет прав на выполнение данных операций с рекламным кабинетом');
Add(603, 'Произошла ошибка при работе с рекламным кабинетом');
Add(700, 'Невозможно изменить полномочия создателя');
Add(701, 'Пользователь должен состоять в сообществе');
Add(702, 'Достигнут лимит на количество руководителей в сообществе');
Add(703, 'You need to enable 2FA for this action');
Add(704, 'Вы не можете назначить пользователя руководителем, если у Вас не подключена функция подтверждения входа');
Add(706, 'Too many addresses in club');
Add(711, 'Application is not installed in community');
Add(800, 'Это видео уже добавлено');
Add(801, 'Comments for this video are closed');
Add(900, 'Нельзя отправлять сообщение пользователю из черного списка');
Add(901, 'Пользователь не давал разрешения на отправку сообщений');
Add(902, 'Нельзя отправлять сообщения этому пользователю в связи с настройками приватности');
Add(907, 'Значение ts или pts слишком маленькое, получите новое значение');
Add(908, 'Значение ts или pts слишком большое, получите новое значение');
Add(909, 'Невозможно отредактировать сообщение после 24 часов');
Add(910, 'Невозможно отредактировать сообщение, поскольку оно слишком большое');
Add(911, 'Keyboard format is invalid');
Add(912, 'This is a chat bot feature, change this status in settings');
Add(913, 'Слишком много пересланных сообщений');
Add(914, 'Сообщение слишком длинное');
Add(917, 'У вас нет доступа в эту беседу');
Add(919, 'Вам недоступны ссылки для приглашения в этот чат');
Add(920, 'Невозможно отредактировать сообщение такого типа');
Add(921, 'Невозможно переслать выбранные сообщения');
Add(924, 'Невозможно удалить сообщение для получателей');
Add(925, 'You are not admin of this chat');
Add(931, 'You can''t change invite link for this chat');
Add(932, 'Your community can''t interact with this peer');
Add(935, 'Такого пользователя в чате нет');
Add(936, 'Contact not found');
Add(940, 'Too many posts in messages');
Add(942, 'Cannot pin one-time story');
Add(943, 'Cannot use this intent');
Add(944, 'Limits overflow for this intent');
Add(945, 'Chat was disabled');
Add(946, 'Chat not supported');
Add(949, 'Can''t edit pinned message yet');
Add(950, 'Can''t send message, reply timed out');
Add(1160, 'Оригинал фотографии был изменен');
Add(1170, 'Слишком много списков новостей (максимум 10)');
Add(1251, 'This achievement is already unlocked');
Add(1260, 'Invalid screen name');
Add(1310, 'Каталог не доступен для пользователя');
Add(1311, 'Категории каталога не доступны для пользователя');
Add(1400, 'Товар невозможно восстановить, прошло слишком много времени с момента удаления');
Add(1401, 'Comments for this market are closed');
Add(1402, 'Подборка с заданным идентификатором не найдена');
Add(1403, 'Товар с заданным идентификатором не найден');
Add(1404, 'Товар уже добавлен в выбранную подборку');
Add(1405, 'Превышен лимит на количество товаров (15000)');
Add(1406, 'Превышен лимит на количество товаров в подборке');
Add(1407, 'Превышен лимит на количество подборок');
Add(1408, 'Недопустимые ссылки в описании товара');
Add(1409, 'Магазин не включен');
Add(1416, 'Вариант не найден');
Add(1417, 'Свойство не найдено');
Add(1425, 'Grouping must have two or more items');
Add(1426, 'Item must have distinct properties');
Add(1427, 'Корзина пуста');
Add(1429, 'Specify width, length, height and weight all together');
Add(1430, 'VK Pay status can not be changed');
Add(1431, 'Market was already enabled in this group');
Add(1432, 'Market was already disabled in this group');
Add(1600, 'Срок хранения истории истёк');
Add(1602, 'Нельзя ответить на историю в связи с настройками приватности');
Add(2000, 'Нельзя добавить больше 10 серверов');
Add(3102, 'Specified link is incorrect (can''t find source)');
Add(3300, 'Recaptcha needed');
Add(3301, 'Phone validation needed');
Add(3302, 'Password validation needed');
Add(3303, 'Otp app validation needed');
Add(3304, 'Требуется подтверждение Email');
Add(3305, 'Assert votes');
Add(7701, 'Total audio duration limit reached');
Add(7702, 'Audio file is too big');
Add(7703, 'Invalid hash');
Add(7704, 'Task not found');
end;
function TVkErrors.Get(const Code: Integer; const Default: string): string;
begin
if not TryGetValue(Code, Result) then
Result := IfThen(Default.IsEmpty, 'Неизвестная ошибка', Default);
end;
initialization
VkErrors := TVkErrors.Create;
VkErrors.Fill;
finalization
VkErrors.Free;
end.