HMRC Hello Application


namespace consoleapp1 
{
  public class response1
  {
    public string? access_token { get; set; }
    public string? scope { get; set; }
    public int expires_in { get; set; }
    public string? token_type { get; set; }
  }

  class Program
  {
    private static readonly
    System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();

    //--------------------------------------------------------------------------------------
    static async
    System.Threading.Tasks.Task
    Main(string[] args)
    {
      var response = await Method_HelloApplication();
      System.Console.WriteLine(response);
    }
    //--------------------------------------------------------------------------------------
    private static async
    System.Threading.Tasks.Task<string>
    Method_GetAccessToken()
    {
      client.DefaultRequestHeaders.Accept.Clear();
      client.DefaultRequestHeaders.Accept.Add(
          new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

      var parametersObject = new
      {
        client_id = "********",
        client_secret = "********",
        scope = "hello",
        grant_type = "client_credentials",
        redirect_uri = "https://localhost:8081"
      };
      var parametersJSON = System.Text.Json.JsonSerializer.Serialize(parametersObject);
      System.Net.Http.StringContent _httpCONTENT = new System.Net.Http.StringContent(parametersJSON.ToString(), System.Text.Encoding.UTF8, "application/json");
      System.Net.Http.HttpResponseMessage response =
      await client.PostAsync("https://test-api.service.hmrc.gov.uk/oauth/token", _httpCONTENT);

      string response_string =
      await response.Content.ReadAsStringAsync();
      return response_string;
    }
    //--------------------------------------------------------------------------------------
    private static async
    System.Threading.Tasks.Task<string>
    Method_GetApplicationResponse(string AccessToken)
    {
      client.DefaultRequestHeaders.Accept.Clear();
      client.DefaultRequestHeaders.Accept.Add(
          new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/vnd.hmrc.1.0+json"));

      client.DefaultRequestHeaders.Authorization =
          new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", AccessToken);

      System.Net.Http.HttpResponseMessage response =
      await client.GetAsync("https://test-api.service.hmrc.gov.uk/hello/application");

      string response_string =
      await response.Content.ReadAsStringAsync();
      return response_string;
    }
    //--------------------------------------------------------------------------------------
    private static async
    System.Threading.Tasks.Task<string>
    Method_HelloApplication()
    {
      string _tokenResults = await Method_GetAccessToken();

      if (_tokenResults != null)
      {
        var responseObject = System.Text.Json.JsonSerializer.Deserialize<response1>(_tokenResults);
        if (responseObject != null)
        {
          string _accessToken = responseObject.access_token ?? "";

          if (_accessToken != null)
          {
            string _getapplication = await Method_GetApplicationResponse(_accessToken);

            if (_getapplication != null)
            {
              return _getapplication;
            }
          }
        }
      }
      return "";
    }
    //--------------------------------------------------------------------------------------
  }
}



© 2024 Better Solutions Limited. All Rights Reserved. © 2024 Better Solutions Limited TopPrevNext