Есть ли способ получить профиль владельца учетной записи Shopify, приложения или магазина?

https://help.shopify.com/en/api/getting-started/authentication/oauth

Я использую вход в Shopify для своего приложения, и он почти работает, но я не могу получить профиль клиента с помощью токена доступа.

https: // {магазин}.myshopify.com/admin/oauth/access_token

Я использую этот API, и теперь у меня есть токен доступа. Как мне получить данные с этого токена?

2 ответа

В Shopify есть два типа API.

  1. Admin API
  2. Store Front API.

Admin API

Для Admin API вы можете создать общедоступное / частное приложение.

Если вы используете общедоступное приложение, вам необходимо выполнить oAuth и получить AccessToken. И в каждом вызове API вам необходимо передать этот accessToken в заголовке, как я предложил в первом ответе.

Если вы используете частное приложение, вам просто нужно добавить APIKey и Secret в URL-адрес запроса. Подробности читайте ниже.

Shopify, как получить данные о продукте с помощью php на моем локальном хосте

StoreFront API

Для Front API магазина вы также можете использовать как публичное, так и частное приложение.

Позвольте мне сначала объяснить частное приложение.

для частного приложения вам нужно установить флажок Разрешить этому приложению доступ к данным вашей витрины с помощью API витрины и предоставить соответствующее разрешение приложению. как только вы установите разрешение и сохраните приложение. вы получите токен доступа к Storefront, теперь вы можете передавать этот токен в каждый заголовок запроса для доступа к данным вашего магазина с помощью store Front API. и StoreFront API доступен только с помощью graphQL. см. ниже пример того, как запросить store Front API.

https://help.shopify.com/en/api/storefront-api/getting-started

Теперь общедоступное приложение с API StoreFront

Сначала вам нужно выполнить oAuth и получить Store AccessToken. теперь, передав этот accessToken в заголовок и сделав запрос ниже, чтобы получить токен доступа к вашей витрине.

POST /admin/api/2019-10/storefront_access_tokens.json
{
  "storefront_access_token": {
    "title": "Test"
  }
}

Более подробную версию можно найти здесь

В ответ вы получите токен доступа к витрине, теперь вы можете добавить этот accessToken в свой shopify-javascript-buy-sdk и выполнять вызовы API store Front.

Js BuySdk Документация

Но помните одну вещь: токены доступа к Storefront API не являются секретом. Вы можете разместить их в файле JavaScript или любом общедоступном HTML-документе, и вам необходимо сделать общедоступное приложение в качестве канала продаж, чтобы использовать Store Front API.

Надеюсь, это будет иметь смысл и поможет вам.

Вам необходимо выполнить вызов API в конечной точке ниже, чтобы получить базовую информацию о магазине, такую ​​как домен электронной почты, валюта и т. Д.

GET /admin/api/2019-10/shop.json

при выполнении вызова API shopiy вы должны передать accessToken в заголовке запроса. т.е.

'headers'  => [
    'Accept'=>'application/json',
    'Content-Type' => 'application/json',
    'X-Shopify-Access-Token'=>$accessToken // access token
],
Другие вопросы по тегам