TsgcHTTP2Client | HTTP/2 and OAuth2

OAuth2 ist eine gängige Autorisierungsmethode, die von mehreren Unternehmen wie Google verwendet wird. Wenn Sie sich gegenüber Google-Servern authentifizieren möchten, um eine ihrer APIs zu verwenden, ist üblicherweise eine Authentifizierung mit OAuth2 erforderlich.

 

sgcWebSockets unterstützt OAuth2 unter dem HTTP/2-Client. Es gibt eine Eigenschaft namens Authentication.Token.OAuth, der Sie eine Instanz von TsgcHTTP_OAuth2 zuweisen müssen.

 

So verbinden Sie sich mit der GMail Google API

Um sich mit Google-APIs zu verbinden, müssen wir eine Instanz von TsgcHTTP_OAuth2 erstellen und die folgenden Daten ausfüllen:

 


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';

 

Nachdem Sie die OAuth2-Client-Komponente ausgefüllt haben, erstellen Sie eine neue Instanz von TsgcHTTP2Client und weisen Sie die OAuth2-Komponente dem HTTP/2-Client zu.

 


 TsgcHTTP2Client1.Authentication.Token.OAuth := TsgcHTTP_OAuth1;

 

Stellen Sie schließlich eine Anfrage, um eine Liste von Nachrichten des Kontos yourname@gmail.com abzurufen

 


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;