0

私には2つの問題があります:

  1. RubyでMSのサーバーに投稿できません。

  2. MSのサーバーから結果を取得できません。

詳細は以下のとおりです。

これが私のルビーコードです:(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

このコードを使用してアクセストークンを取得することを選択します。

ただし、エラーが発生するたびに:

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.

誰が問題の場所を教えてくれますか?

4

1 に答える 1