Thursday, April 26, 2012

How to use the new Bing translator API with access tokens

Updated on December 6th 2017 to use Microsoft Azure accounts


Bing translator has changed its API recently again to migrate to the new Azure accounts on http://azure.com. Before this version, we used accounts on Azure Data Market. The new API still requires you to get an access token first before using any Bing service. The URL and parameters are changed to use the new Azure accounts.

Step 0: sign up for a Microsoft Azure account 

To access the Microsoft Translator Text API you will need to sign up for Microsoft Azure. Follow these steps.
  1. Sign up for a Microsoft Azure account at http://azure.com
  2. After you have an account go to http://portal.azure.com
  3. Select the + New option.
  4. Select AI + Cognitive Services from the list of services.
  5. Select Translator Text API. You may need to click "See all" or search to see it.
  6. Fill out the rest of the form, and select the Create button.
  7. You are now subscribed to Microsoft Translator Text API.
  8. Go to All Resources and select the Microsoft Translator API you subscribed to.
  9. Go to the Keys option and copy your subscription key to access the service.

Step 1: get access token

$ curl --header 'Ocp-Apim-Subscription-Key: [Your-Azure-subscription-key]' --data "" 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken'

After this curl command, you will get an access token which is valid for a short period.

For the details about this step, please refer to:
http://docs.microsofttranslator.com/oauth-token.html

Step 2: get translation using the obtained access token 

curl -i -H "Authorization: Bearer [access-token-obtained-in-step-1]" "http://api.microsofttranslator.com/V2/Http.svc/Translate?appid=&text=lol&from=en&to=zh-CHS"

You will get some output from curl like (the last line is the real HTTP response):


HTTP/1.1 200 OK 
Content-Length: 83 
Content-Type: application/xml; 
charset=utf-8 
X-MS-Trans-Info: 0916.V2_Rest.Translate.1D6C05C5 
Date: Mon, 10 Apr 2017 17:50:43 GMT 

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">哈哈</string>

References

(1) For details about the Microsoft Translation APIs: 
https://docs.microsofttranslator.com/text-translate.html

(2) For details about what languages are supported and what languages are using Neural Machine Translation (NMT) models:
https://www.microsoft.com/en-us/translator/languages.aspx

Wednesday, April 18, 2012

Linux shell: stop ctrl+s

in a Linux shell, when you press ctrl+s, your shell will be suspended.
This may not be what you like.
To disable this feature, you can add one line to your .bashrc file in your home directory:

stty –ixon