API DataSet export using RestSharp.RestClient

Folks,

I have a valid client ID and Client Secret, and I can export the data I want using Postman.

But I need to do this thru C# code in Linqpad, and it fails every time. (The .Dump() method below is their clever variation on Console.WriteLine().)

	RestClient dataClient = new RestClient("https://api.domo.com");
	
	RestRequest dataRequest = new RestRequest("v1/datasets/{dataset-id}/data", Method.Get);
	
	dataRequest.AddHeader("Authorization", $"Bearer {token}");
	
	var domoResponse = await dataClient.ExecuteAsync(dataRequest);

	// ALWAYS ENDS IN AN ERROR HERE
	if(domoResponse.IsSuccessful == false)
	{
		domoResponse.Content.Dump("ErrorMessage");
		// error = {"status":500,"statusReason":"Internal Server Error","message":"Internal Server Error","toe":"E3OSUEGHUK-MPIU2-L469S"}
		return;
	}
	
	domoResponse.Content.Substring(0,1000).Dump("Sample");

I know this code and my secrets and the token work, because if I remove the "{dataset-id}/data" from the target, it happily downloads a list of my DataSets.

What am I missing?

Best Answer

  • TomKelleher
    TomKelleher ⚪️
    Answer ✓

    Bah...

    Ignore me...

    dataRequest.AddHeader("Accept", "text/csv");
    

Answers