using Newtonsoft.Json.Serialization;
private static string responseContentReadTask = "{\"access_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjkxNjMwMWViNzE2ZTQzMjVhN2ZjYmU1M2FmZmVkY2UyIiwidHlwIjoiSldUIn0.eyJuYmYiOjE2ODY4MTYyMTAsImV4cCI6MTY4NjgxOTgxMCwiaXNzIjoiaHR0cHM6Ly9nZC1hbXMtdC5lbmVyZ3lueHQuZXUiLCJhdWQiOiJFbmVyZ3kiLCJjbGllbnRfaWQiOiI4OGM5ZmFjZS1lMDE3LTRkN2MtOTRhMi1lMGZiZWM3MjA3YmEiLCJodHRwOi8vaWN0LmV1L3dzLzIwMTgvMDQvaGllcmFyY2h5dXNlcnJvb3RpZCI6IjEuIiwiaHR0cDovL2ljdC5ldS93cy8yMDIwLzA1L2NsaWVudHNlY3VyaXR5c3RhbXAiOiJGOTNCNzFBQzJFMEZCMTlDREZEMDM0Mzc5REFGNkVFNyIsImh0dHA6Ly9pY3QuZXUvd3MvMjAxNy8wOC9pZGVudGl0eS9jbGFpbXMvY2xpZW50YXBwbGljYXRpb250eXBlIjoiQXBwbGljYXRpb24iLCJodHRwOi8vaWN0LmV1L3dzLzIwMTcvMDgvaWRlbnRpdHkvY2xhaW1zL2NsaWVudGFwcGxpY2F0aW9uaWQiOiIxIiwiaHR0cDovL2ljdC5ldS93cy8yMDE3LzA4L2lkZW50aXR5L2NsYWltcy9jbGllbnRhcHBsaWNhdGlvbm5hbWUiOiJlbmVyZ3lOWFQgQmFja2VuZCBDbGllbnQiLCJodHRwOi8vaWN0LmV1L3dzLzIwMTcvMDgvaWRlbnRpdHkvY2xhaW1zL2NsaWVudGFwcGxpY2F0aW9uZW1haWwiOiJlbmVyZ3lueHRAaWN0Lm5sIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkRldmljZXMuQ3JlYXRlRGVsZXRlRGV2aWNlcyIsIkRldmljZXMuRWRpdERldmljZXMiLCJEZXZpY2VzLk1vdmVEZXZpY2VzIiwiRGV2aWNlcy5EYXRhUG9pbnRQZXJtaXNzaW9uTGV2ZWwuTG93IiwiRGV2aWNlcy5EYXRhUG9pbnRQZXJtaXNzaW9uTGV2ZWwuTWVkaXVtIiwiRGV2aWNlcy5EYXRhUG9pbnRQZXJtaXNzaW9uTGV2ZWwuSGlnaCIsIlJlYWRFeHRlbmRlZEZpZWxkc0xvdyIsIlJlYWRFeHRlbmRlZEZpZWxkc01lZGl1bSIsIlJlYWRFeHRlbmRlZEZpZWxkc0hpZ2giLCJSZWFkRXh0ZW5kZWRGaWVsZHNTeXN0ZW0iLCJXcml0ZUV4dGVuZGVkRmllbGRzTG93IiwiV3JpdGVFeHRlbmRlZEZpZWxkc01lZGl1bSIsIldyaXRlRXh0ZW5kZWRGaWVsZHNIaWdoIiwiV3JpdGVFeHRlbmRlZEZpZWxkc1N5c3RlbSIsIkRldmljZXMuVmlld0RldmljZXMiLCJEZXZpY2VzLlZpZXdUZWxlbWV0cnkiLCJEZXZpY2VzLlZpZXdEZXZpY2VNZXNzYWdlSGlzdG9yeSIsIkRldmljZXMuUmVnaXN0ZXJEZXZpY2VzIiwiRGV2aWNlcy5NYW5hZ2VEZXZpY2VDb25uZWN0aW9ucyIsIkRldmljZXMuVmlld0RldmljZUNvbmZpZ3VyYXRpb24iLCJEZXZpY2VzLkVkaXREZXZpY2VDb25maWd1cmF0aW9uIiwiRGV2aWNlcy5WaWV3RGV2aWNlU3RhdHVzSGlzdG9yeSIsIkhpZXJhcmNoeS5DcmVhdGVEZWxldGVIaWVyYXJjaHkiLCJIaWVyYXJjaHkuRWRpdEhpZXJhcmNoeSIsIkhpZXJhcmNoeS5WaWV3TG9jYXRpb25Db2RlIiwiSGllcmFyY2h5LlZpZXdIaWVyYXJjaHkiLCJIaWVyYXJjaHkuVmlld0hpZXJhcmNoeU5vZGVUeXBlcyIsIkVudGl0eVBlcm1pc3Npb25Mb3ciLCJFbnRpdHlQZXJtaXNzaW9uTWVkaXVtIiwiRW50aXR5UGVybWlzc2lvbkhpZ2giLCJBbGVydHMuVmlld0FsZXJ0cyIsIkFsZXJ0cy5WaWV3SW50ZXJuYWxBbGVydHMiLCJIaWVyYXJjaHkuRWRpdEhpZXJhcmNoeU5vZGVUeXBlcyIsIkJBU0lDLlZpZXdFbmVyZ3lEYXNoYm9hcmQiLCJCQVNJQy5WaWV3RW5lcmd5Q2hhcnRzIiwiU2VjdXJpdHkuQ3JlYXRlRGVsZXRlVXNlcnMiLCJTZWN1cml0eS5Bc3NpZ25Vc2VyUm9sZXMiLCJTZWN1cml0eS5WaWV3VXNlcnMiLCJTZWN1cml0eS5WaWV3Um9sZXMiXSwianRpIjoiMDQ0NTY2RDJEQjA2RUQzNTg3MEMxNEIwMzZCNjcwMzgiLCJpYXQiOjE2ODY4MTYyMTAsInNjb3BlIjpbImMyYzp0ZWxlcG9ydCJdfQ.Dzd_XSiy5mqpFMwoi_gjQgus8qCyWJ_kuN0rXiT1I1HN5D4Er0wascalZI-CK-pjAbk3dAnxt-UVtRw0EcqlSweEiGB-z4-u48famTcmfKtnicT8gN3Iq9hJYfqJ1QQUKnEe9ZmXcsi1IeRUnpoDmikQzRQKc5I-Ing16ZS308CbgODQjFzIpJ28O9JTh-vyxr0CJxPDP812a-47BOkCoFpDEtjdnAAa3dlg3EwkdJIweS5QB7hHWNPrVgGTUEk3BoqXc7ArWpaTI0-ZIZwT0j4hvkcTYbJh2nlPzcvOFD-t73nCpwl74gzg3c4fT5oKQv2_wUHK1HE5-RqKVzZSrw\",\"expires_in\":3600}";
private class TokenResponse
public string AccessToken { get; }
public int ExpiresIn { get; }
public static void Main()
var result = JsonConvert.DeserializeObject<TokenResponse>(
new JsonSerializerSettings
MissingMemberHandling = MissingMemberHandling.Error,
ContractResolver = new DefaultContractResolver
NamingStrategy = new SnakeCaseNamingStrategy()
Error = delegate(object sender, ErrorEventArgs args)
Console.WriteLine(args.ErrorContext.Error.Message);
args.ErrorContext.Handled = true;
Console.WriteLine(JsonConvert.SerializeObject(result));