【发布时间】:2017-08-21 08:35:32
【问题描述】:
我有带有 api 密钥身份验证的美味派 api。
它对 GET 请求双向工作,但对于 post 请求,它不起作用。
url = http://localhost:8000/api/path/?api_key=key&username=username
在视图中,当我尝试打印 request.user 时,当请求来自邮递员时,它是普通/真实用户。但是对于 python 请求,它是匿名用户。
使用 python 请求,我正在这样做:
url = http://localhost:8000/api/path/?api_key=key&username=username
d = {"some": "data"}
r = requests.post(url, data=json.dumps(d), headers={"content-type": "application/json"})
邮递员提供的代码:
POST /api/v1/abc/?api_key=somekey&username=something HTTP/1.1
Host: localhost:8000
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: something
{"something":"something"}
如有任何问题,请告诉我。
我的 api 身份验证不起作用的资源:
class UserResource(ModelResource):
class Meta:
queryset = User.objects.all()
fields = ['username', 'email', 'first_name', 'last_name']
resource_name = 'user'
authentication = ApiKeyAuthentication()
【问题讨论】:
-
您使用的是哪种身份验证?
-
它的api密钥认证。
-
您可以在通过 Postman 发送时添加请求的代码(在您的问题中)吗?代码链接将在保存按钮下方提供。
-
感谢 Abijith,更新了问题。请检查。
-
我猜你的 api 密钥有问题!而且您提到的网址与邮递员网址不同!
标签: python django tastypie postman