興味深いことに、実際にこれを行うことができます。
import json
import requests
import urllib
args = {
'client_id': '',#your client id here
'client_secret': '',#your azure secret here
'scope': 'http://api.microsofttranslator.com',
'grant_type': 'client_credentials'
}
oauth_url = 'https://datamarket.accesscontrol.windows.net/v2/OAuth2-13'
oauth_junk = json.loads(requests.post(oauth_url,data=urllib.urlencode(args)).content)
translation_args = {
'text': "hello",
'to': 'ru',
'from': 'en'
}
headers={'Authorization': 'Bearer '+oauth_junk['access_token']}
translation_url = 'http://api.microsofttranslator.com/V2/Ajax.svc/Translate?'
translation_result = requests.get(translation_url+urllib.urlencode(translation_args),headers=headers)
print translation_result.content
速度が低下する前に、数回の即時応答を取得します(速度が低下する前に、即時応答で6〜7回)。私はAzureをあまり使用していないので、それらのレート制限がどのように機能するかはわかりませんが、そのレートを上げるために支払うことができると確信しています。
(注:上記のコードの一部をそのMicrosoftライブラリから取得しました。ロジックだけがどのように動作するかを確認したかっただけです)