Ajax-вызов авторизации крупной коммерции

Я работаю с Big Commerce API. Мы просто используем Big Commerce Hosted Shop и никаких дополнительных шлангов. Поэтому мы не можем использовать BC API в PHP-коде.

Я пытаюсь вызвать ajax, чтобы получить некоторые дополнительные данные, такие как настраиваемые поля, для отображения отдельно.

Мое решение - создать пользователя с разрешением «Управление продуктом». Затем я использую эти учетные данные для создания вызова Ajax.

Вот аякс:

$.ajax({
type: 'GET',
url: 'https://store-convvXX.mybigcommerce.com/api/v2/products/85/customfields.json',
dataType: 'json',
//'otherSettings': 'othervalues',
beforeSend: function(xhr) {
    //May need to use "Authorization" instead
    xhr.setRequestHeader("Authorization",
        "Basic amF2YXNjcmlwdF91c2VyOjI0MmEwMTU1NWYyYjk4OTk1MzI3MmM1MDQxYjU1MTlj");
},
success: function(result) {
    alert('done');
    document.write(result);
},
error: function(){
    alert('error');
}

});

Однако я всегда получаю ответ 401. Любой может поделиться со мной своим опытом. Я буду очень признателен за любой ваш вклад.


person Dau Thanh Hai    schedule 25.09.2013    source источник
comment
Вы пробовали URL-адрес в веб-браузере? Он говорит, что такого сайта нет ...   -  person iJade    schedule 25.09.2013
comment
Да, я работаю в браузере с всплывающим окном, позволяющим мне ввести имя пользователя и пароль. После этого я получаю производственные данные json. (Я изменил свой сайт 43 на XX в URL :))   -  person Dau Thanh Hai    schedule 25.09.2013
comment
вы запускаете код ajax с сайта, поддерживающего https?   -  person iJade    schedule 25.09.2013
comment
Нет, это незашифрованная страница. :(. Есть ли какое-нибудь решение для этого? Потому что у меня нет скрипта на стороне сервера, либо заставить каждую страницу использовать HTTPS.   -  person Dau Thanh Hai    schedule 25.09.2013


Ответы (1)


Вы должны кодировать ключ API в base64, как указано в руководстве по bigcommerce.

javascript использует функцию btoa() для кодирования base64.

person user3198079    schedule 25.06.2015