Ответы пользователя по тегу ВКонтакте
  • Возможно ли подгрузить контент при помощи AJAX?

    archakov06
    @archakov06
    Frontend-разработчик (ReactJS)
    Можно и очень просто. Используя в запросе offset и count, посылай через AJAX эти параметры.

    Изначально используй переменную в которой хранится A строк и B смещение. И когда придет запрос на твой скрипт, получай через $_GET параметры и вставляй в эти переменные.

    А в JS при каждом вызове, прибавляй +N раз (n - кол-во новых записей).
    Ответ написан
    Комментировать
  • Как правильно загрузить фото VKApi?

    archakov06
    @archakov06
    Frontend-разработчик (ReactJS)
    Мне лень переделывать код, чтобы он под твою программу подошел. Думаю смысл кода ясен будет, если ты сам смог написать код выше.

    P.S: Я этот код писал года два назад и там много лишнего, не копипасти его. А просто алгоритм пойми.

    function Pars(ForS, T_, _T: string): string;
    var
    a, b: integer;
    begin
    Result := '';
    if (T_ = '') or (ForS = '') or (_T = '') then
    Exit;
    a := Pos(T_, ForS);
    if a = 0 then
    Exit
    else
    a := a + Length(T_);
    ForS := Copy(ForS, a, Length(ForS) - a + 1);
    b := Pos(_T, ForS);
    if b > 0 then
    Result := Copy(ForS, 1, b - 1);
    end;
    
    function SendData(name,params: string):boolean;
    var HTTP:THTTPSend;
    begin
      HTTP:=THTTPSend.Create;
      HTTP.UserAgent:='Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1';
      HTTP.Protocol:='1.1';
      HTTP.HTTPMethod('GET', 'https://api.vk.com/method/'+name+'?'+params+'&access_token='+token);
      Response.LoadFromStream(HTTP.Document);
      Response.Text:=StringReplace(Response.Text,'\','',[rfreplaceall,rfignorecase]);
      HTTP.Free;
    end;
    
    var
    FormData : TIdMultiPartFormDataStream;
    d,g,Res,server,photos_list,hash:string;
    vk:tvkclient;
    HTTP:TIdHTTP;
    begin
    vk:=tvkclient.Create(nil);
    vk.Login:='';
    vk.Password:='';
    vk.OnLogin;
    token:=vk.VKToken;
    cook:=vk.vk_cook;
    SendData('photos.getUploadServer','album_id=122885845&group_id=46859739');
    
      if OpenDialog1.Execute then
      begin
      FormData := TIdMultiPartFormDataStream.Create;
      HTTP.Request.CustomHeaders.Add('Cookie: '+cook);
      HTTP.AllowCookies:=false;
      FormData.AddFile('file', OpenDialog1.FileName, 'multipart/form-data');
      g:=Response.Text;
      Res := HTTP.Post(Pars(g,'upload_url":"','"'), FormData);
      Res:=StringReplace(Res,'\','',[rfreplaceall,rfignorecase]);
      server:=Pars(Res,'server":',',');
      photos_list:=Pars(Res,'photos_list":"','","aid');
      hash:=Pars(Res,'hash":"','"');
      SendData('photos.save','album_id=166911641&group_id=46859739&server='+server+'&photos_list='+photos_list+'&hash='+hash);
      Mmo1.Text:=response.Text;
      FormData.Free;
      end;
    Ответ написан
    Комментировать