Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Como fazer uma requisição POST em Delphi usando componentes REST


Posts recomendados

Bom dia devs e amigos de T.I. 
Estou com um problema na minha request, minha intenção é Inserir um calendário na API do Google Calendar usando uma request cm método POST, no conteúdo dessa request deve ir o JSON. O grande problema é que eu já preenchi as informações necessárias pra API funcionar e o request está me retornando 401 Não autorizado.

Não sei exatamente no que estou errando por isso vim aqui no fórum, estou a dias emapacado nisso.

Meu código está aqui pra vocês darem uma olhada, talvez seja algo simples que estou esquecendo. Li em alguns lugares que o Header da request deve conter o token de acesso e por isso não estaria funcionando, mas mesmo depois de adicionar o token a request continua retornando 401.

Muito obrigado desde já, e espero que alguém possa ajudar um dev junior que está sofrendo.

procedure TOAuth2TesterFrm.incluir_btnClick(Sender: TObject);
var
json,token: String;
begin
token:=AccessTokenEdt.Text;
json:=(
'{"kind": "calendar#calendarListEntry", "etag": "0", "id": "[email protected]", ' +
'"summary": "Calendario Outro", "description": "Descrição do evento", '   +
'{"date": "2020 August 11", "dateTime": "2020-08-11T17:35:36+03:00"}'+
'"timeZone": "Brasília-DF", "colorId": "15", "backgroundColor": "#9fc6e7", "foregroundColor": "#000000", ' +
'"selected": true, "accessRole": "owner", "primary": true, '+
 '"defaultReminders": [{"method": "popup", "minutes": 30}, {"method": "email", "minutes": 10}], '  +
'"notificationSettings": {"notifications": [{"method": "email", "type": "eventCreation"}, ' +
'{"method": "email", "type": "eventChange"}, {"method": "email", "type": "eventCancellation"}, ' +
'{"method": "email", "type": "eventResponse"}]}}');
try
    client.ResetToDefaults;
    request.ResetToDefaults;
    response.ResetToDefaults;
    client.BaseURL:='https://www.googleapis.com/calendar/v3/';
    response.ContentType := 'application/json';
    request.Method := TRESTRequestMethod.rmPOST;
    request.Body.ClearBody;
    client.AcceptEncoding:='UTF-8';
    client.ContentType:='text/html';
    request.Resource := 'calendars';
    client.Params.AddHeader('Authorization','Bearer'+token);
    request.AddBody(json);
    request.Execute;
    ShowMessage(request.Response.StatusCode.ToString);
finally

end;
  end;

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...