Я пишу веб-приложение и хотел бы использовать API перевода Bing, так как Google взимает плату за свои услуги. Я зарегистрировался в Azure Marketplace и зарегистрировал приложение. Проблема в том, что я не нашел, как получить нужный мне токен доступа. Я попробовал несколько вызовов AJAX в plunker, но все они попали в заголовок «Нет заголовка «Access-Control-Allow-Origin» на стене запрошенного ресурса». Единственные инструкции по получению токена доступа, которые я нахожу, написаны на другом языке (php, C#, Java), хотя мне действительно нужно, чтобы это был Javascript. Есть ли способ получить токен доступа таким образом?
В настоящее время я пытаюсь вызвать службу таким образом:
function createCORSRequest(method, url) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// Check if the XMLHttpRequest object has a "withCredentials" property.
// "withCredentials" only exists on XMLHTTPRequest2 objects.
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined") {
// Otherwise, check if XDomainRequest.
// XDomainRequest only exists in IE, and is IE's way of making CORS requests.
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
// Otherwise, CORS is not supported by the browser.
xhr = null;
}
return xhr;
};
var xhr = createCORSRequest('POST', 'https://datamarket.accesscontrol.windows.net/v2/OAuth2-13?client_id=[CLIENT_ID_HERE]&client_secret=[CLIENT_SECRET_HERE]&scope=http://api.microsofttranslator.com&grant_type=client_credentials&');
xhr.onloadend = function(data){
alert(JSON.stringify(data));
};
xhr.send();