Как получить токен с помощью spree API v2 SDK - PullRequest
1 голос
/ 08 мая 2019

У меня есть приложение Spree 3.7, и я пытаюсь использовать storefront API v2 для получения токена. Мне рекомендовали использовать их SDK , но я не понимаю, как использовать SDK

Пример ниже:

Идентифицирует корзину и заказ гостя.

const response = await client.cart.create()

const orderToken: string = response.data.attributes.token

Неясно, откуда взялся response.data.attributes.token или как его получить.

У кого-нибудь есть пример, как использовать SDK для получения токена API? В настоящее время не в состоянии сделать это. Утверждается, что с помощью / cart я могу получить кнопку гостевого токена, пытающуюся получить ответ, заканчивающийся 404

const orderToken: string = response.data.attributes.token возвращает данные как неизвестные. Где я могу получить значение данных?

  import { makeClient } from '@spree/storefront-api-v2-sdk/dist/client';


async function asyncCall() {
  console.log('calling');

  // When using the SDK in a <script> tag or as part of a Webpack bundle
  // targeted for the browser, instead use:
  // import { makeClient } from '@spree/storefront-api-v2-sdk/dist/client'

  const client = makeClient({
    host: 'https://stern-telecom-react-salman15.c9users.io/'
  });

  console.log(client)

  const createCart = await client.cart.create()


  const orderToken = response.data.attributes.token

  const addToCart = await client.cart.addItem({ orderToken }, {
    variant_id: '1',
    quantity: 1
  })

  console.log('orderToken',orderToken,'createCart',createCart);
  // expected output: 'resolved'
}

asyncCall();

1 Ответ

1 голос
/ 09 мая 2019

Мне удалось получить токен API с помощью SDK, добавив .succes() перед вызовом data

const client = makeClient({
   host: 'yourwebsite or localhost:3000'
 });
 console.log('cliet',client);

const cartCreateResponse = await client.cart.create()
 console.log('cartCreateResponse',cartCreateResponse.success().data);


const orderToken = cartCreateResponse.success().data.attributes.token
 console.log('orderToken', orderToken);

 const addToCart = await client.cart.addItem({ orderToken }, {
   variant_id: '1',
   quantity: 1
 })
...