TsgcHTTP2Client | HTTP/2 and OAuth2

O OAuth2 é um método de autorização comum usado por várias empresas como o Google. Quando você deseja autenticar-se nos servidores do Google para usar qualquer uma de suas APIs, geralmente é necessária uma autenticação usando OAuth2.

 

O sgcWebSockets suporta OAuth2 no cliente HTTP/2, há uma propriedade chamada Authentication.Token.OAuth onde você deve atribuir uma instância de TsgcHTTP_OAuth2.

 

Como conectar à API Google do GMail

Para conectar às APIs do Google, precisaremos criar uma instância de TsgcHTTP_OAuth2 e preencher os seguintes dados:

 


TsgcHTTP_OAuth1.AuthorizationServerOptions.AuthURL := 'https://accounts.google.com/o/oauth2/auth';
TsgcHTTP_OAuth1.AuthorizationServerOptions.TokenURL := 'https://accounts.google.com/o/oauth2/token';

TsgcHTTP_OAuth1.LocalServerOptions.IP := '127.0.0.1'; TsgcHTTP_OAuth1.LocalServerOptions.Port := 8080;
TsgcHTTP_OAuth1.OAuth2Options.ClientId := 'your client id'; TsgcHTTP_OAuth1.OAuth2Options.ClientSecret := 'your client secret';

 

Depois de preencher o componente cliente OAuth2, crie uma nova instância de TsgcHTTP2Client e atribua o componente OAuth2 ao cliente HTTP/2.

 


 TsgcHTTP2Client1.Authentication.Token.OAuth := TsgcHTTP_OAuth1;

 

Por fim, faça uma requisição para obter uma lista de mensagens da conta yourname@gmail.com

 


oStream := TStringStream.Create('');
Try
  TsgcHTTP2Client1.Get('https://gmail.googleapis.com/gmail/v1/users/yourname@gmail.com/messages', oStream);
  ShowMessage(oStream.DataString);
Finally
  oStream.Free;
End;