2012-03-10

Bing Translator APIのAccess Tokenをpythonで取得

こんな感じです。

import urllib

def _retrieve_access_token():
    data = dict(client_id="my_client_id",
                client_secret="my_client_secret",
                scope="http://api.microsofttranslator.com",
                grant_type="client_credentials"
                )
    data = urllib.urlencode(data)
    resp = urllib.urlopen("https://datamarket.accesscontrol.windows.net/v2/OAuth2-13", data)
    return resp.read()

もちろん "my_client_id" と "my_client_secret" の部分は、Azure Marketplaceで取得した値を設定しなくてはいけません。
それなりに時間がかかる処理なので、キャッシュを有効に使いたいところです。

戻り値は、
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Good afternoon</string>
のようにタグで囲まれているので、ここから翻訳結果の文字列だけを取り出してやる必要があります。

0 件のコメント: