1
Я хочу: Перевести текст с помощью службы Переводчик BingBing Translate API с JavaScript и Node.js
Проблема: я получаю сообщение:
Веб-Токен должен иметь подпись в конце. Входной токен не имеет подписи в конце токена.
Мой маркер перед кодированием:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier=Subtitles&http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider=https://datamarket.accesscontrol.windows.net/&Audience=http://api.microsofttranslator.com&ExpiresOn=1411488480&Issuer=https://datamarket.accesscontrol.windows.net/&HMACSHA256=DsdsshfhhegefrgradfsdffqI=
Код:
var request = require('request');
var querystring = require('querystring');
/**
* Demo for translating a 'Hello world' from en to uk with help of Bing Translator service
*/
(function() {
var makeTranslateRequest = function(token) { //I provided you my token at this point
var opts = {
text: 'Hello world',
from: 'en-gb',
to: 'ru'
};
request.get({
url: "http://api.microsofttranslator.com/v2/Http.svc/Translate?contentType=text/plain&from=" + opts.from + "&to=" + opts.to + "&text=" + opts.text,
headers: {
'Authorization': encodeURIComponent('Bearer' + token).replace(/'/g,"%27").replace(/"/g,"%22")
}
},function(err,res,body) {
var translated = body;
console.log('translated: ' + translated);
});
}
/**
* Get token and make translate request in a callback
*/
var requestOpts = querystring.stringify({
client_id: 'Subtitles',
client_secret: 'X...................................s=',
scope: 'http://api.microsofttranslator.com',
grant_type: 'client_credentials'
});
request.post({
encoding: 'utf8',
url: "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13",
body: requestOpts
}, function(err, res, body){
var decoded = decodeURIComponent(body.replace(/\+/g, " "))
var token = JSON.parse(decoded).access_token;
makeTranslateRequest(token);
});
})();
Вы уверены, что хотите опубликовать этот ключ HMAC на весь интернет? – AlexMA
Я его анонимный –