powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi и сообщения групп во Вконтакте
18 сообщений из 18, страница 1 из 1
Delphi и сообщения групп во Вконтакте
    #39807164
Menmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дорогие наши программисты, помогите решить задачу. Нужно получать сообщения именно из группы во Вконтакте и реагировать на них, если в сообщении найден определённый текст. Второе реализовать легко, а вот первое? Как получать сообщения из сообщества вк?
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807167
shonli95
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
post,get. xml массив и так далее. for-in pos match и все дела. Программа за 5 минут, ничего сложного
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807173
Menmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shonli95,

Можно пример кода? Для кого-то может и легко, но я самоучка.. Долго доходит)
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807202
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Menmo,

посмотри темы вот этого пользователя: "Tech N9ne"
Он писал что-то для работы с сообщениями ВК и тут задавал вопросы.
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807223
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
самое сложное там процедура логина, в остальном все довольно тривиально.
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807269
Menmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
эндисамое сложное там процедура логина, в остальном все довольно тривиально.
Можно пожалуйста пример? Как залогиниться в вк знаю, через API, но вот как именно получать информацию из сообщений в группе не представляю.
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807280
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется если Вы не представляете как вызвать url передав ему параметры описанные в API то Вы слишком рано взялись за эту тему, возьмите пример попроще для начала. У VK очень приличная документация с описанием всех методов, полностью на русском языке, обычному программисту этого должно быть более чем достаточно, просто это пока не Ваш уровень, не обижайтесь.
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807670
shonli95
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
энди,

Ржу не могу, аж до слёз. Ох как сложно - то взять, и передать username и password с client_id а так же client_secret с типом grant_type равным password и правами scope предварительно указав версию v по адресу oauth.vk.com/token. И авторизация готова, в 1 строку
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807675
shonli95
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот ваша сложная авторизация

https://oauth.vk.com/token?username=Login@gmail.com&;password=MyPass&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&grant_type=password&scope=244236287&v=5.92]https://oauth.vk.com/token?username=Login@gmail.com&;password=MyPass&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&grant_type=password&scope=244236287&v=5.92
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807715
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shonli95Вот ваша сложная авторизация

Все снифферы в локальной сети бьются в экстазе :)
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807763
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39807769
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот тут как использовать стандартный OAuth
http://disik-programmer.blogspot.com/2017/07/delphi-102-tokyo-rest-api-1.html
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39808062
shonli95
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,

Пусть упадут в конвульсию) Авторизация, post метод который не только передаёт аргументы, но и файлы

Код: pascal
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.
unit Unit2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.Net.URLClient, System.Net.HttpClient,
  System.Net.HttpClientComponent, System.JSON, System.Net.Mime, Vcl.StdCtrls;

type
  TForm2 = class(TForm)
    NetHTTPClient1: TNetHTTPClient;
    ButtonAuth: TButton;
    Login: TEdit;
    Pass: TEdit;
    GetDialogs: TButton;
    procedure ButtonAuthClick(Sender: TObject);
    procedure GetDialogsClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    Access_token, Ver: string;
    function AuthVK(const Login, Pass, Client_id, Client_secret, Scope, V: string): string;
    function Call(const Method: string; Data: TMultipartFormData): TJSONValue;
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

function TForm2.AuthVK(const Login, Pass, Client_id, Client_secret, Scope, V: string): string;
var
  Resp: IHTTPResponse;
  JsonValue: TJSONObject;
  Val: TJSONValue;
  Str: string;
begin
  Result := '';
  Resp := NetHTTPClient1.Get('https://oauth.vk.com/token?username=' + Login + '&password=' + Pass +
    '&client_id=' + Client_id + '&client_secret=' + Client_secret + '&grant_type=password&scope=' +
    Scope + '&v=' + V);

  JsonValue := TJSonObject.ParseJSONValue(Resp.ContentAsString()) as TJSONObject;
  if JsonValue = nil then
    Exit;

  Val := JsonValue.Values['access_token'];
  if Val = nil then
    Application.MessageBox(PChar(JsonValue.Values['error_description'].Value),
      PChar(JsonValue.Values['error'].Value), MB_OK or MB_ICONINFORMATION)
  else
    Result := Val.Value;

  Ver := V;
end;

function TForm2.Call(const Method: string; Data: TMultipartFormData): TJSONValue;
var
  Val: TJSONValue;
begin
  try
    Result := nil;
    if Access_token <> '' then
    begin
      if Data = nil then
      begin
        Application.MessageBox(PChar('Empty Data in call method to ' + Method), 'Error',
          MB_OK or MB_ICONINFORMATION);
        Exit;
      end;

      Data.AddField('access_token', Access_token);
      Data.AddField('v', Ver);

      Result := TJSonObject.ParseJSONValue(NetHTTPClient1.Post('https://api.vk.com/method/' +
        Method, Data).ContentAsString()) as TJSONObject;
      if Result = nil then
        Exit;

      Val := Result.GetValue<TJSONValue>('error', nil);
      if Val <> nil then
        Application.MessageBox(PChar(Val.ToJSON), PChar(Val.GetValue<string>('error_msg')),
          MB_OK or MB_ICONINFORMATION)
      else
        Result := Result.GetValue<TJSONValue>('response', nil);
    end
  except

  end;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  NetHTTPClient1.UserAgent :=
    'VKAndroidApp/4.38-816 (Android 6.0; SDK 23; x86; Google Nexus 5X; ru)';
end;

procedure TForm2.ButtonAuthClick(Sender: TObject);
begin
  Access_token := AuthVK(Login.Text, Pass.Text, '2274003', 'hHbZxrka2uZ6jB1inYsH',
    '244236287', '5.95');
  if Access_token <> '' then
    ShowMessage('Удачно');
end;

procedure TForm2.GetDialogsClick(Sender: TObject);
var
  P: TMultipartFormData;
  JsonValue, Tmp: TJSONValue;
  Items, Items2: TJSONArray;
  Count, I: Integer;
  Vv: TJSONValue;
  Ss: string;
begin
  if Access_token <> '' then
  begin
    P := TMultipartFormData.Create();

    P.AddField('count', '5'); // 5 записей

    JsonValue := Call('messages.getDialogs', P);
    if JsonValue = nil then
      Exit;
    Items := JsonValue.GetValue<TJSONArray>('items', nil);
    if Items = nil then
      Exit;

    For I := 0 to Items.Count - 1 do
    begin
      Tmp := Items.Items[I].GetValue<TJSONValue>('message', nil);
      ShowMessage('user_id: ' + Tmp.GetValue<string>('user_id', '') + #13 + 'Message:' +
        Tmp.GetValue<string>('body', ''));
    end;
  end;
end;

end.

...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39812565
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpshonli95Вот ваша сложная авторизация

Все снифферы в локальной сети бьются в экстазе :)
Эти снифферы увидят только обращение по https к домену oauth.vk.com и лососнут тунца
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39812781
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,
Fiddler тебе в помощь, он как зоркий глаз, почти что все видит.
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39812861
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziv-2014Василий 2,
Fiddler тебе в помощь, он как зоркий глаз, почти что все видит.


Ага, расскажи мне, как он в LAN без установки своего сертификата расковыряет SSL xD
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39812862
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2, Установи сертификат, тебе что-то мешает.
...
Рейтинг: 0 / 0
Delphi и сообщения групп во Вконтакте
    #39813201
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кому? Узлу в локальной сети?
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi и сообщения групп во Вконтакте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]