none
400 bad request

    Question

  • getting the following.

    HTTP/1.1 400 Bad Request
    
    Content-Length: 264
    
    Content-Type: text/html; charset=utf-8
    
    X-MS-Trans-Info: s=35641
    
    Date: Wed, 25 Jun 2014 14:19:55 GMT
    
    <html><body><h1>TranslateApiException</h1><p>Method: Translate()</p><p>Message: The Azure Market Place Translator Subscription associated with the request credentials has zero balance.</p><code></code><p>message id=5641.V2_Rest.Translate.40BD29BC</p></body></html>
    

    I am using the client id and secret from my application and I have a subscription marked active. my code is below.

    using Newtonsoft.Json;
    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Linq;
    using System.Net.Http;
    using System.Text;
    using System.Threading.Tasks;
    using System.Xml.Linq;
    
    namespace transalte
    {
        internal class Program
        {
            private static void Main(string[] args)
            {
                Token toke = Task.Run(async () =>
                    {
                        HttpClient cl = new HttpClient();
    
                        var token = new HttpRequestMessage();
                        Uri url = new Uri("https://datamarket.accesscontrol.windows.net/v2/OAuth2-13");
    
                        Dictionary<string, string> dic = new Dictionary<string, string>();
                        dic.Add("grant_type", "client_credentials");
                        dic.Add("client_id", "CLIENTID");
                        dic.Add("client_secret", "SECRET");
                        dic.Add("scope", "http://api.microsofttranslator.com");
    
                        var r2 = await cl.PostAsync(url, new FormUrlEncodedContent(dic));
    
                        var c = await r2.Content.ReadAsStringAsync();
                        Token o = JsonConvert.DeserializeObject<Token>(c);
                        return o;
                    }).ConfigureAwait(false).GetAwaiter().GetResult();
    
                string text = Console.ReadLine();
    
                while (text != "q")
                {
                    Task.Run(async () =>
                        {
                            using (HttpClient cl = new HttpClient())
                            {
                                using (var r = new HttpRequestMessage())
                                {
                                   
                                    r.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", toke.access_token);
                                    r.RequestUri = new Uri("http://api.microsofttranslator.com/v2/Http.svc/Translate?text=" + text + "&to=fr");
    
                                    var la = await cl.SendAsync(r);
    
                                    var resp = XDocument.Parse(await la.Content.ReadAsStringAsync());
    
                                    Console.WriteLine(resp.Root.Value);
                                }
                            }
                        }).ConfigureAwait(false);
                    text = Console.ReadLine();
                }
            }
    
            private class Token
            {
                public string access_token { get; set; }
    
                public string expires_in { get; set; }
    
                public string scope { get; set; }
    
                public string token_type { get; set; }
            }
        }
    }

    Wednesday, June 25, 2014 2:23 PM

All replies