Need help with the following error

New Member
9 0 0

self.endpoint = shopify.ShopifyResource.get_site() + "/graphql.json"
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

Replies 4 (4)
8 1 0

Looks like your "shopify.ShopifyResource.get_site()" function is returning something that isn't a String, what is that function returning? 

Don't forget to smash that Like button if I've helped you out!
If you're question was answered, don't forget to Accept the Solution!
New Member
9 0 0

Actually it is a library error

New Member
9 0 0

import shopify
from ..base import ShopifyResource
from six.moves import urllib
import json

class GraphQL:
def __init__(self):
self.endpoint = shopify.ShopifyResource.get_site() + "/graphql.json"
self.headers = shopify.ShopifyResource.get_headers()

def merge_headers(self, *headers):
merged_headers = {}
for header in headers:
return merged_headers

def execute(self, query, variables=None):
endpoint = self.endpoint
default_headers = {"Accept": "application/json", "Content-Type": "application/json"}
headers = self.merge_headers(default_headers, self.headers)
data = {"query": query, "variables": variables}

req = urllib.request.Request(self.endpoint, json.dumps(data).encode("utf-8"), headers)

response = urllib.request.urlopen(req)
except urllib.error.HTTPError as e:
raise e


"This is code of the shopifyapi library and it belongs to portion "

3 0 0

Hello there, as the question is still not marked as solved:


I also stumbled upon this problem while I was trying to bulk update my inventory. I think I have a simple solution to this.


For me, the code was executing properly when I made two different Shopify Shop instances for query and mutation.  However, at the very moment I tried to use the same instance for query and mutation, all of a sudden the same functions that were working well, started to show me this error.


So my suggestion is to make sure that you have at least two different instances of your Shopify shop and you are using one of them for query and another for mutation.


Let me know if it helps.

Thank you.