【问题标题】:Fetch data (json) from Prestashop's Rest API in Javascript ES6 (React Native)在 Javascript ES6 (React Native) 中从 Prestashop 的 Rest API 获取数据 (json)
【发布时间】:2017-01-19 18:01:59
【问题描述】:

我正在寻找解决这个问题的方法。我想将 prestashop REST API 用于特定的测试活动。我的问题是我无法使用此表单进行身份验证,甚至无法使用缓冲区和 DOMParser,因为我正在为 android 4.4.1 开发一个项目并且缓冲区不兼容。

有人可以帮忙吗?先感谢您。最好的问候。

我做了这样的事情(下面两​​个例子):

let API = null;
const SERVER_ADDRESS = 'http://192.168.1.5/prestashop/api/';

//也尝试使用“&output_format=JSON” const token = 'X3IIMEP8JJI3PKPXIMEP8JJI3PKPICJMM';

try {
    fetch(SERVER_ADDRESS, {
        method: 'GET',
        headers: {
            'Authorization': token
        }
    })    
    .then(function(response) {
        if(response.status == 200) return response.json();
        else throw new Error('Something went wrong on api server!');
    })
    .then(function(response) {
        console.debug(response);
        // ...
    })
} catch (e) {
    alert(e);
}

==========================

import {Buffer} from 'buffer';
import {DOMParser} from 'xmldom';

let API = null;
const SERVER_ADDRESS = 'http://192.168.1.5/prestashop/api/';
const REST = {
    CMS: 'content_management_system'
};
const token = 'XGRCBUW745EH4SPHCU92MKL4RGNVPYXY';
const AuthorizationString = 'Basic ' + new Buffer(token + ':').toString('Base64');

try {

    componentDidMount({
    fetch(SERVER_ADDRESS, {
        method: 'GET',
        headers: {
            'Authorization': AuthorizationString
        }
    }).then(function (response) {
        response.text().then(function (text) {
            API = new DOMParser().parseFromString(text);
        });
    });

    }

} 

catch (e) {
    alert(e);
}

【问题讨论】:

    标签: javascript android rest fetch prestashop-1.7


    【解决方案1】:

    你试过了吗

    headers: {
            'Authorization': 'Bearer '+token
        }
    

    我不确定 prestashop 如何进行身份验证,但我的系统使用 JWT 并要求令牌以 Bearer 为前缀

    【讨论】:

    • 我要试试!但是我正在使用“高级 REST 客户端”(Chrome ext)来获取标题形式,它给出了类似的内容:HTTP 标题:“授权”通过:“基本 VFc2RjUxQUHAJHSIIPEO28CS978D3N9DN02U0U1ZZS0k6VFc2RjUxQU”。在我的应用程序中,将此 Basic 字符串用作我的 fetch 标头的 const。
    • 通常,Bearer 用于基于令牌的身份验证。基本是客户端是否发送用户名/密码类型的凭据。
    猜你喜欢
    • 2017-09-05
    • 1970-01-01
    • 2021-12-23
    • 2017-03-16
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多