前提・実現したいこと
PythonでShopifyのGraphQL Admin API を利用し、shopifyストアの情報を取得しようとしています。
ShopifyAPIモジュールを使用して以下のコードを実行したところエラーが発生するため解決したいです。
テストストアで実行した時は動いていたのですが、本番環境に適用しようとしたところエラーを吐くようになりました。
このエラーの原因がわからず、対処に困っています。どなたかご教授願えないでしょうか。
本番のShopでのアクセストークンの発行は済んでいます。
Mac OS
python 3.9.2
発生している問題・エラーメッセージ
Traceback (most recent call last): File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 1346, in do_open h.request(req.get_method(), req.selector, req.data, headers, File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 1255, in request self._send_request(method, url, body, headers, encode_chunked) File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 1301, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 1250, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 1010, in _send_output self.send(msg) File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 950, in send self.connect() File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 1417, in connect super().connect() File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 921, in connect self.sock = self._create_connection( File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/socket.py", line 822, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/socket.py", line 953, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno 8] nodename nor servname provided, or not known During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/pinkbpompom/spiralturn_lineBot/test.py", line 17, in <module> responce = shopify.GraphQL().execute(query=query) File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/site-packages/shopify/resources/graphql.py", line 27, in execute response = urllib.request.urlopen(req) File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 214, in urlopen return opener.open(url, data, timeout) File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 517, in open response = self._open(req, data) File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 534, in _open result = self._call_chain(self.handle_open, protocol, protocol + File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 494, in _call_chain result = func(*args) File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 1389, in https_open return self.do_open(http.client.HTTPSConnection, req, File "/Users/pinkbpompom/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 1349, in do_open raise URLError(err) urllib.error.URLError: <urlopen error [Errno 8] nodename nor servname provided, or not known>
該当のソースコード
Python
1import shopify 2from dotenv import load_dotenv 3import os 4 5load_dotenv() 6api_key = os.environ.get('api_key') 7secret = os.environ.get('api_secret_key') 8shop = os.environ.get('shop') 9token = os.environ.get('token') 10 11shopify.Session.setup(api_key=api_key,secret=secret) 12session = shopify.Session(shop,version='2021-10',token=token) 13shopify.ShopifyResource.activate_session(session) 14 15query = '{orders(first:5){edges{node{ id name }}}}' 16responce = shopify.GraphQL().execute(query=query) 17result = json.loads(responce) 18print(result) 19 20shopify.ShopifyResource.clear_session()
補足情報
アクセスするShopのアクセストークンは正常に取得済みです。
認証に必要なAPIキーやシークレット、アクセストークンなどの情報は、ローカルではenvファイルに、HerokuではHerokuの環境変数に設定しています。
ローカルでコードを実行しても、Herokuにデプロイして実行してもエラーとなります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。