• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

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

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Как Обращаться К Api_vk С Помощью Post Запроса?

  • Автор темы Автор темы Polya
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Polya

Принятый Кодер
Регистрация
8 Июн 2016
Сообщения
47
Баллы
50
Не могу отправить сообщение вконтакте другу.
Get запрос работает, только нельзя отправлять более ??? символов. Потому что иначе сообщения будут ограничены максимальной длиной Get запроса - 256 символов где-то.
В таком случае нужно обязательно отправлять данные на сервер с помощью Post запроса.

В коде переменная SendMessage1 типа string в ней строка сообщения в формате Utf8
Если у меня все не правильно, покажите пожалуйста пример. Только на сайте вк. В поиске нет примеров с Post запросами авторизации и отправки запросов к api через приложение вк с помощью библиотеки Synapse через приложение для Вконтакте.

Код:
var
  temp:string;
  S1, S2, S3:string;
  POST:TStringStream;
begin
  HTTP:= thttpsend.Create;

  POST:=TStringStream.Create;
  POST.WriteString('user_id='+Edit6.Text+'message='+SendMessage1+'access_token='+token);
  HTTP.Document.LoadFromStream(POST);

  if HTTP.HTTPMethod('POST', 'https://api.vk.com/method/messages.send?') then
  begin
    if Pos('response', HTTP.Headers.Text)<>0 then
    begin
    Memo1.Lines.Add('Good' + #13 + SendMessage1);
    Edit5.Text:=SendMessage1;
    end
    else
    Memo1.Lines.Add('Error' + HTTP.Headers.Text);
  end;
end;
 
У тебя не проходит русский текст?? тогда поставь правильную кодировку
 
У тебя не проходит русский текст?? тогда поставь правильную кодировку
С кодировкой все правильно, я сообщения на стену отправляю нормально. А в лс могу отправить слово "привет" не более. Это с Get запросом.
А у меня не правильный Post запрос, я не знаю как составить правильно Post запрос с Synapse вк.
 
Ну вы чего, забыли про меня что ли? =(
 
Ну вы чего, забыли про меня что ли? =(
  1. response:=send('GET', 'https://api.vk.com/method/wall.post...ge='+AnsiToUtf8('Edit3.Text')+'&access_token=' + form1.token); msg:=Utf8ToAnsi(response); Memo1.Lines.Add(msg);
response - переменная
Send- синапс,я так понял,что работаете с синапсом,не забудьте поставить обновленную версию тут
Если еще будет проблема с 256 символами пишите,решим.
 
  1. response:=send('GET', 'https://api.vk.com/method/wall.post...ge='+AnsiToUtf8('Edit3.Text')+'&access_token=' + form1.token); msg:=Utf8ToAnsi(response); Memo1.Lines.Add(msg);
response - переменная
Send- синапс,я так понял,что работаете с синапсом,не забудьте поставить обновленную версию тут
Если еще будет проблема с 256 символами пишите,решим.
С wall.post и проблем нет, в личные сообщения нельзя отправить сообщение с помощью GET запроса, метод Messages а wall.post меня не интересует.
 
Статус
Закрыто для дальнейших ответов.
Вверх Снизу