Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 13.11.2017, 17:30   #1
grigandal1580
Пользователь
 
Регистрация: 05.01.2017
Сообщений: 14
Репутация: 10
По умолчанию REST обновить AccessToken google api

С REST library знаком поверхностно

в OAuth2Authenticator-е получил Access и Refresh token-ы

пытаюсь обновить AccesToken так

Код:

procedure TForm1.Button4Click(Sender: TObject);
var
LToken :string;
begin
RESTClient1.BaseURL:='https://www.googleapis.com/oauth2/v4/token';
try
  RESTRequest1.Method := TRESTRequestMethod.rmPOST;
 
 
  RESTRequest1.AddAuthParameter('grant_type', 'refresh_token', TRESTRequestParameterKind.pkURLSEGMENT);
  RESTRequest1.AddAuthParameter('refresh_token', OAuth2Authenticator1.RefreshToken, TRESTRequestParameterKind.pkURLSEGMENT);
  RESTRequest1.AddAuthParameter('client_id',OAuth2Authenticator1.ClientID,TRESTRequestParameterKind.pkURLSEGMENT);
  RESTRequest1.AddAuthParameter('client_secret',OAuth2Authenticator1.ClientSecret,TRESTRequestParameterKind.pkURLSEGMENT);
 
  RESTRequest1.Execute;
 
 
  if RESTRequest1.Response.GetSimpleValue('access_token', LToken) then
  begin
    ShowMessage(LToken);
    OAuth2Authenticator1.AccessToken := LToken;
  end;
 
  if RESTRequest1.Response.GetSimpleValue('refresh_token', LToken) then
  begin
    OAuth2Authenticator1.RefreshToken := LToken;
  end;
 
finally
  RESTClient1.DisposeOf;
end;
end;


получаю исключение

Код:

ETHTTPProtocolException with message 'HTTP/1.1 404 not found'

Как правильно составить данный запрос?
grigandal1580 вне форума   Ответить с цитированием
Старый 14.11.2017, 12:12   #2
grigandal1580
Пользователь
 
Регистрация: 05.01.2017
Сообщений: 14
Репутация: 10
По умолчанию

тема актуальна
grigandal1580 вне форума   Ответить с цитированием
Старый 14.11.2017, 14:41   #3
grigandal1580
Пользователь
 
Регистрация: 05.01.2017
Сообщений: 14
Репутация: 10
По умолчанию

Получилось пока только с помощью IdHTTP

Код:

procedure TForm1.Button4Click(Sender: TObject);
var
  LToken, string;
  response: String;
   id: String;
   date:string;
   pos1: Integer;
   Info: TStringList;
begin


response := '';
     Info := TStringList.Create;
     Info.Add('grant_type=refresh_token');
     Info.Add('refresh_token='+OAuth2Authenticator1.RefreshToken);
     Info.Add('client_id=' + OAuth2Authenticator1.ClientID);
     Info.Add('client_secret=' + OAuth2Authenticator1.ClientSecret);
     response := idhttp1.Post('https://www.googleapis.com/oauth2/v4/token', Info);
     memo2.Lines.Add(response);
end;

grigandal1580 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
консультация python unitest google api facebook api muove Фриланс 0 11.05.2017 15:25
Разработка REST API - на чем? supervine Общие вопросы Web 4 04.05.2017 23:22
QA engineer (REST API) в Санкт-Петербург Anna Kashina Работа на постоянной основе 1 18.07.2016 18:51
Лабораторная по веб-технологиям(Angular, REST API с oAuth2) ZoxWatt Фриланс 0 26.05.2016 14:28
Отправка сообщенмя через API VK и Rest Client Cruzel C++ Builder 1 29.09.2014 18:42




21:45.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru