OAuth2, Google gibi birçok şirket tarafından kullanılan yaygın bir yetkilendirme yöntemidir. API'lerinden herhangi birini kullanmak için Google sunucularına karşı kimlik doğrulaması yapmak istediğinizde, genellikle OAuth2 kullanarak bir Kimlik Doğrulaması gerektirir.
sgcWebSockets, HTTP/2 istemcisi altında OAuth2'yi destekler; TsgcHTTP_OAuth2 örneğini atamanız gereken Authentication.Token.OAuth adlı bir özellik vardır.
Google API'lerine bağlanmak için, bir TsgcHTTP_OAuth2 örneği oluşturmamız ve aşağıdaki verileri doldurmamız gerekir:
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';
OAuth2 istemci bileşenini doldurduktan sonra, TsgcHTTP2Client'in yeni bir örneğini oluşturun ve OAuth2 bileşenini HTTP/2 istemcisine Assign edin.
TsgcHTTP2Client1.Authentication.Token.OAuth := TsgcHTTP_OAuth1;
Son olarak, yourname@gmail.com hesabının mesaj listesini almak için bir istek yapın
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;