현재 InSales (인기있는 러시아어 웹 플랫폼)를 기반으로하는 온라인 상점에 일부 기능을 추가해야하는 Django 웹 응용 프로그램을 개발 중입니다. 나는 pyinsales
이라는 공식 InSales lib 디렉토리를 사용하여 주문 및 제품 등록 된 상점에서 물건을 얻을.API GET 요청이 404를 반환합니다.
InSales API는 XML이 포함 된 REST 요청을 기반으로합니다. 가게의 URL은 다음
from install.models import Shop
from insales import InSalesApi
shop = Shop.objects.get(shop_url='shop-url.myinsales.ru')
api = InSalesApi(shop.shop_url, 'trackpost', shop.password)
orders = api.get_orders()
shop.shop_url
, trackpost 내 응용 프로그램과 shop.password
의 이름 필요한 암호입니다 : 내가 장고 쉘에서 주문에 대한 정보를 얻기 위해 아래의 코드를 사용 ("오, 정말?") 연결. 비밀번호는 MD5 (InSales 규칙)에 의해 생성됩니다. 여기에 오류가 발생합니다.
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python3.5/site-packages/insales/api.py", line 32, in get_orders
return self._get('/admin/orders.xml', {'per_page': per_page, 'page': page}) or []
File "/usr/local/lib/python3.5/site-packages/insales/api.py", line 291, in _get
return self._req('get', endpoint, qargs)
File "/usr/local/lib/python3.5/site-packages/insales/api.py", line 307, in _req
response = getattr(self.connection, method)(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/insales/connection.py", line 85, in get
return self.request('GET', path, qargs=qargs)
File "/usr/local/lib/python3.5/site-packages/insales/connection.py", line 70, in request
(method, path, resp.status, body), resp.status)
insales.connection.ApiError: GET request to /admin/orders.xml?page=1&per_page=25 returned: 404
b'<?xml version="1.0" encoding="UTF-8"?>\n<errors>\n <error></error>\n</errors>\n'
나는 실수를 모두 이미 확인했습니다. 암호는 공식 문서에 따라 올바르게 생성되고 상점 URL은 정확하며 lib의 모든 메소드가 올바르게 사용됩니다. InSales 기술 지원은 응답이 없으므로 지금 무슨 일이 일어나고 있는지 전혀 알지 못합니다.
이 문제를 디버그하고 싶지 않지만 404 오류 (잘못된 URL 또는 암호 같은 명백한 것 제외)이 발생할 수있는 원인을 알고 싶습니다. 답장을 보내 주신 모든 분들께 감사드립니다.
글쎄, 그건 너무 분명하다 (나는 모두가 404를 알고 있다고 확신한다). 재미 있은 무엇 - 나는 상점의 통제가있다. ** 거기에 ** 물건이 있다는 것은 틀림 없습니다. 'requests'를 사용하는 것은 공식 모듈이있을 때 매우 불편합니다. 그래서 그것을 사용하고 싶지 않습니다. 그러나 어쨌든 고마워요 –
끝점 자체가 제대로 작동하는지 확인 했습니까? 우편 배달부와 같은 말풍선이나 프로그램을 사용하여 끝점을 치려고하면 작동합니까? – jasonleehodges
InSales는 매우 개인적이고 잘 ... 닫힌 플랫폼이기 때문에 확인하기가 꽤 어렵습니다. 하지만 사이트 자체가 작동하고 동일한 API를 사용하는 많은 다른 앱과 작동하기 때문에 엔드 포인트가 작동하는 것만으로도 충분합니다. –