OAuth2 es un método de autorización común utilizado por varias empresas como Google. Cuando desea autenticarse contra los servidores de Google para utilizar cualquiera de sus APIs, normalmente se requiere una autenticación mediante OAuth2.
sgcWebSockets admite OAuth2 bajo el cliente HTTP/2; existe una propiedad llamada Authentication.Token.OAuth donde debe asignar una instancia de TsgcHTTP_OAuth2.
Para conectarse a las API de Google, necesitaremos crear una instancia de TsgcHTTP_OAuth2 y rellenar los siguientes datos:
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';
Después de configurar el componente cliente OAuth2, cree una nueva instancia de TsgcHTTP2Client y asigne el componente OAuth2 al cliente HTTP/2.
TsgcHTTP2Client1.Authentication.Token.OAuth := TsgcHTTP_OAuth1;
Por último, realice una solicitud para obtener una lista de mensajes de la cuenta 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;