🛒

Pythonを使ってShopifyAPIをGraphQLで呼び出す

2021/10/31に公開

概要

Python で ShopifyAPI を GraphQL で呼び出す方法がわからなかったので記述します。

最初 Python パッケージの"gql"や"graphene"でやろうと思いましたが,"ShopifyAPI"が楽そうだったので検証しました。

手順

1. ShopifyAPI をインストール

pip install ShopifyAPI

2. Python でソースコードを記述

以下の点で、サンプルコードを修正すれば、client.execute(query)で GraphQL をたたくことができます。

  • 環境に合わせて domain(ショップ名),api version, password を記述
  • shopifyapi に変数を入力
  • query を実行したい環境に合わせて編集
import shopify

# 環境に合わせて記述
domain = "NAME.myshopify.com"
api_version = "2020-01"
password = "PASSWORD"

# shopifyAPIに設定を読み込ませる
shopify.ApiVersion.define_known_versions()
shopify_session = shopify.Session(domain, api_version, password)
shopify.ShopifyResource.activate_session(shopify_session)

# graphqlのqueryを記述
client = shopify.GraphQL()
query = '''
    {
        orders(first:10){
            edges{
                node{
                    closed
                    name
                }
            }
        }
    }
'''

# 結果を出力
result = client.execute(query)
print(result)

参考

https://github.com/graphql-python/gql

https://graphene-python.org/

https://github.com/Shopify/shopify_python_api

https://community.shopify.com/c/技術的なQ-A/python上でgraphQLを使い-Shopの情報を抜き出す方法について/td-p/847379

Discussion