OAuth2 est une méthode d'autorisation courante utilisée par plusieurs entreprises comme Google. Lorsque vous souhaitez vous authentifier auprès des serveurs Google pour utiliser l'une de leurs APIs, cela nécessite généralement une authentification via OAuth2.
sgcWebSockets prend en charge OAuth2 sous le client HTTP/2, il existe une propriété appelée Authentication.Token.OAuth où vous devez affecter une instance de TsgcHTTP_OAuth2.
Pour se connecter aux API Google, nous devrons créer une instance de TsgcHTTP_OAuth2 et renseigner les données suivantes :
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';
Après avoir rempli le composant client OAuth2, créez une nouvelle instance de TsgcHTTP2Client et assignez le composant OAuth2 au client HTTP/2.
TsgcHTTP2Client1.Authentication.Token.OAuth := TsgcHTTP_OAuth1;
Enfin, effectuez une requête pour obtenir la liste des messages du compte 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;