Have your say in Community Polls: What was/is your greatest motivation to start your own business?
Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

Need help with the following error

Need help with the following error

Its_Cherry
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)

domnappa
Tourist
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!
Its_Cherry
New Member
9 0 0

Actually it is a library error

Its_Cherry
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:
merged_headers.update(header)
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)

try:
response = urllib.request.urlopen(req)
return response.read().decode("utf-8")
except urllib.error.HTTPError as e:
print((e.read()))
print("")
raise e

 

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

risvey_hasan
Visitor
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.