Я пишу коды для расширения Chrome, которому требуется доступ к minus.com, который использует oAuth 2.0 для аутентификации, поэтому я написал файл javascript 'test.js', а затем включил его в HTML-файл 'test.html' затем загрузите файл test.html в Chrome, чтобы проверить коды JavaScript, которые используются для аутентификации.
Структура 'test.js' выглядит следующим образом:
function Ajax(url, options) {
// some function content
// Sending data
if (options.method === "POST" && (options.params || options.binaryData)) {
if (options.binaryData) {
xhr.sendAsBinary(options.binaryData);
} else {
xhr.send(hashToQueryString(options.params));
}
} else {
xhr.send(null);
}
return xhr;
}
function refreshToken(refresh_token) {
var params = {
'grant_type': 'refresh_token',
'client_id': API_KEY,
'client_secret': API_SECRET,
'refresh_token': refresh_token,
'scope': 'read_all modify_all upload_new'
}
new Ajax("https://minus.com/oauth/token", {
params: params,
onSuccess: function(response) {
console.log(response.access_token);
},
onError: function(response) {
console.log('error: wrong_token');
}
});
}
refreshToken();
Когда я загрузил «test.html» в Chrome для проверки «test.js», он вызвал ошибку в консоли, сказав, что «XMLHttpRequest не может загрузить https://minus.com/oauth/token?... Исходный файл: // не разрешен Access-Control-Allow-Origin «. Я пытался запустить Chrome с опцией «--allow-file-access-from-files» или «--disable-web-security», но это не решило проблему. Однако, если я прокомментировал часть «Отправка данных» в функции «Ajax», ошибки не будет.
У кого-нибудь есть идеи, что здесь происходит?
Спасибо!