Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python 3从back4app检索对象?_Python_Python 3.x_Back4app - Fatal编程技术网

如何使用python 3从back4app检索对象?

如何使用python 3从back4app检索对象?,python,python-3.x,back4app,Python,Python 3.x,Back4app,我正在尝试使用python与存储在back4app中的数据库进行交互。发送GET请求后,我得到“{'message':'notfound','error':{}”。我的python代码如下所示: import json, http.client, urllib.parse # create a connection to the server url = "parseapi.back4app.com" connection = http.client.HTTPSConnection(url) c

我正在尝试使用python与存储在back4app中的数据库进行交互。发送GET请求后,我得到“{'message':'notfound','error':{}”。我的python代码如下所示:

import json, http.client, urllib.parse
# create a connection to the server
url = "parseapi.back4app.com"
connection = http.client.HTTPSConnection(url)
connection.connect()

# define parameter for GET request
params = urllib.parse.urlencode({"where":json.dumps({"Name": "Dru Love"})})

# perform GET request
connection.request('GET', '/parse/classes/PGA?%s' % params, '', {
       "X-Parse-Application-Id": "app_id",
       "X-Parse-REST-API-Key": "api_key"
     })

# store response in result variable
result = json.loads(connection.getresponse().read())
connection.close()
print(result)
connection.request('GET', '/classes/PGA?%s' % params, '', {
       "X-Parse-Application-Id": app_id,
       "X-Parse-REST-API-Key": api_key,
   })
答复:

{'message': 'Not Found', 'error': {}}

我真的被推荐使用这个软件包。这个包非常好,用于
HTTP
调用

为你的情况举个小例子

# Your payloads
params = {
    "X-Parse-Application-Id": "app-id",
    "X-Parse-REST-API-Key": "YOUR_IP_KEY"
}


url = 'https://parseapi.back4app.com/parse/classes/Congressmen'


# GET method, with URI parameters
response = requests.get(url, params=params)

print(response.url)

# Get json data from a response.
print(response.json())

问题出在对connection.request()的调用中。应该从传入的url中删除“/parse”。工作代码如下所示:

import json, http.client, urllib.parse
# create a connection to the server
url = "parseapi.back4app.com"
connection = http.client.HTTPSConnection(url)
connection.connect()

# define parameter for GET request
params = urllib.parse.urlencode({"where":json.dumps({"Name": "Dru Love"})})

# perform GET request
connection.request('GET', '/parse/classes/PGA?%s' % params, '', {
       "X-Parse-Application-Id": "app_id",
       "X-Parse-REST-API-Key": "api_key"
     })

# store response in result variable
result = json.loads(connection.getresponse().read())
connection.close()
print(result)
connection.request('GET', '/classes/PGA?%s' % params, '', {
       "X-Parse-Application-Id": app_id,
       "X-Parse-REST-API-Key": api_key,
   })

没有阅读文档(指针),我想知道
$
。看起来不对,在RESTAPI键之前?它位于back4app提供的rest api文档中。我试着移除它,但似乎没有任何改变,结果是一样的。我仍然有同样的问题。我得到的回答是:{'error':'unauthorized'}
{'error':'unauthorized'}
意味着你提供了一个错误的凭证,请检查你的
app id
api\u key
。我的app id和restapi key绝对正确,我在这一点上检查了四次。老实说,我最不确定的是我正在使用的url。我是否使用了正确的url?如果没有,我在哪里可以找到正确的?我对
parseapi