Есть ли способ получить профиль владельца учетной записи Shopify, приложения или магазина?
https://help.shopify.com/en/api/getting-started/authentication/oauth
Я использую вход в Shopify для своего приложения, и он почти работает, но я не могу получить профиль клиента с помощью токена доступа.
https: // {магазин}.myshopify.com/admin/oauth/access_token
Я использую этот API, и теперь у меня есть токен доступа. Как мне получить данные с этого токена?
2 ответа
В Shopify есть два типа API.
- Admin API
- 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.
Но помните одну вещь: токены доступа к 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
],