如何将列表传递给 requests.patch 中的数据参数?
How to pass a list to data parameter in requests.patch?
我正在尝试通过 python 中的请求向 Auth0 中的用户添加角色,但我在数据部分遇到了问题。我尝试使用 json 参数而不是数据和其他选项通过纯列表发送此数据...
requests.patch(
url='my_url',
data=json.dumps(["my_role_id"]),
headers={'Authorization': 'Bearer my_token',
'Content-Type': 'application/json'}
)
在 docs 之后,如果我尝试通过 cURL 或在像 Insomnia 这样的客户端中发送相同的数据,它会起作用。
curl --request PATCH \
--url 'https://{extension_url}/users/{user_id}/roles' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json' \
--data '[ "{role_id}" ]'
python 示例中传递给服务的数据内容与 cURL 示例中的不同。试试这个(postman-echo
有助于弄清楚发生了什么):
import requests
import json
role_ids = ["my-role-id"]
role_id_array = [ "{%s}" % x for x in role_ids ]
resp = requests.patch(
url='http://postman-echo.com/patch',
data=json.dumps(role_id_array),
headers={'Authorization': 'Bearer my_token',
'Content-Type': 'application/json'}
)
print(resp.content)
我解决了!我的 url 错误 user_id 不完整,Auth0 的授权 API 没有告诉我。
我正在尝试通过 python 中的请求向 Auth0 中的用户添加角色,但我在数据部分遇到了问题。我尝试使用 json 参数而不是数据和其他选项通过纯列表发送此数据...
requests.patch(
url='my_url',
data=json.dumps(["my_role_id"]),
headers={'Authorization': 'Bearer my_token',
'Content-Type': 'application/json'}
)
在 docs 之后,如果我尝试通过 cURL 或在像 Insomnia 这样的客户端中发送相同的数据,它会起作用。
curl --request PATCH \
--url 'https://{extension_url}/users/{user_id}/roles' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json' \
--data '[ "{role_id}" ]'
python 示例中传递给服务的数据内容与 cURL 示例中的不同。试试这个(postman-echo
有助于弄清楚发生了什么):
import requests
import json
role_ids = ["my-role-id"]
role_id_array = [ "{%s}" % x for x in role_ids ]
resp = requests.patch(
url='http://postman-echo.com/patch',
data=json.dumps(role_id_array),
headers={'Authorization': 'Bearer my_token',
'Content-Type': 'application/json'}
)
print(resp.content)
我解决了!我的 url 错误 user_id 不完整,Auth0 的授权 API 没有告诉我。