TsgcHTTP2Client | HTTP/2 と OAuth2

OAuth2 は Google などの多くの企業で使用される一般的な認可方法です。 Google サーバーに対して認証を行い、その API を使用する場合、 通常 OAuth2 を使用した認証が必要です。

 

sgcWebSockets は HTTP/2 クライアント下で OAuth2 をサポートしています。TsgcHTTP_OAuth2 のインスタンスを割り当てる Authentication.Token.OAuth というプロパティがあります。

 

GMail Google API への接続方法

Google API に接続するには、TsgcHTTP_OAuth2 のインスタンスを作成して以下のデータを入力する必要があります:

 


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クライアントコンポーネントに入力した後、TsgcHTTP2Clientの新しいインスタンスを作成し、 OAuth2コンポーネントをHTTP/2クライアントに割り当てます。

 


 TsgcHTTP2Client1.Authentication.Token.OAuth := TsgcHTTP_OAuth1;

 

最後に、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;