public virtual async Task<List<Fields>> GetPicklistFields(string sObject, string oField)
List<Fields> fields = null;
HttpClient client = new HttpClient();
List<string> items = null;
var auth = Auth.Authorize().Result;
string query = string.Format("{0}/services/data/v41.0/sobjects/{1}/describe", auth.instance_url, sObject);
HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Get, query);
req.Headers.Add("Authorization", string.Format("Bearer {0}", auth.access_token));
req.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage resp = await client.SendAsync(req);
if (resp.StatusCode != HttpStatusCode.OK)
throw new Exception(string.Format("Server error (HTTP {0}: {1}).",
resp.StatusCode, resp.Content));
var jsonStream = await resp.Content.ReadAsStringAsync();
JObject joResponse = JObject.Parse(jsonStream);
JArray array = (JArray)joResponse["fields"];
foreach (JObject obj in array)