无法连接到Bing Translator API

时间:2012-09-04 16:50:08

标签: api bing

我有两个问题:

  1. 我不能用Ruby发布到MS的服务器。

  2. 我无法从MS的服务器获得结果。

  3. 以下是详细信息。

    这是我的ruby代码:(xxxxxx是我的client_secret)

    require "net/http"
    
    base_url = URI("https://datamarket.accesscontrol.windows.net/v2/OAuth2-13")
    params = {:client_id => :woki,
              :client_secret => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
              :scope => "http://api.microsofttranslator.com",
              :grant_type => "client_credentials"}
    
    res = Net::HTTP.post_form(base_url, {})
    
    File.open("token", "w").write res.body
    

    我hopt使用此代码获取访问令牌。

    但是,每次发生错误时:

    rescue in rbuf_fill': Timeout::Error (Timeout::Error)
    

    所以,相反,我使用bash命令curl发布,并返回响应:

    {"token_type":"http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0","access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","expires_in":"599","scope":"http://api.microsofttranslator.com"}
    

    然后,我想使用我的访问令牌将英文单词翻译成中文,但仍然失败了。以下是我的代码:

    #!/bin/bash
    
    clear
    
    curl -H "Authorization: Bearer xxxxx" -d "appId&text=apple&to=zh-CHS&from=en&maxTranslations=10" http://api.microsofttranslator.com/V2/Http.svc/GetTranslations
    

    其中xxxxx直接从上面的访问令牌中复制,其中包含类似“http%3a%2f%2f”的内容。

    根据http://msdn.microsoft.com/en-us/library/ff512417。我认为没有错。

    但是,我只能

    Error Status Code: 'InternalServerError'
    
    Details: The server encountered an error processing the request. Please see the server logs for more details.
    

    谁能告诉我问题出在哪里?

1 个答案:

答案 0 :(得分:0)

尝试重新排序参数 - 我发现你在'from'之前已经'到了'。

还尝试摆脱'maxTranslations'参数。