나는 지금이 문제에 대해 몇 주 동안 노력하고 있으며, 내 인생에 대한 해결책을 찾을 수 없습니다. Drupal 웹 사이트 또는 다른 곳에서 적절한 문서를 찾지 못했다는 사실도 도움이되지 않습니다. 그리고 이미 여기에있는 질문은 구식입니다 (Services 2.x).
Drupal Commerce 지원 사이트에 대한 REST 서비스를 작성하려고합니다. 현재 모든 서비스는 Order 리소스에 대한 기본 CRUD 작업을 허용하고 OAuth로 보안을 유지해야합니다. OAuth 2.0은 필요하지 않습니다. 또한 서버에서 스크립트를 사용하여 호출해야하므로 로그인 경로 재 지정이 불가능합니다 (모든 것이 2 단계 인증으로 수행됨).
현재 스택은 다음과 같습니다
- PHP 5.3.15
- 드루팔 7.15
- 커머스 킥 스타트 프로파일 (7.x-2.0-rc1)
- 서비스 7.x-3.2
- OAuth 7.x-3.0 + 18-dev
- OAuth 인증 7.x-3.2
- REST 서버 7.x-3.2
- Commerce Services 7.x-1.x-dev (사용자 정의 주문 코드를 추가 한 모듈입니다)
OAuth PHP 라이브러리를 사용하고 매번 토큰 요청을 호출하면 주문에 대해 검색 / 색인 함수를 사용할 수 있습니다 (인증을 제외하고는 거기에서 무슨 일이 일어나고 있는지조차 확실하지 않습니다 ...). 주문에 POST를 시도하고 주문을 작성하려고하면 OAuth가 사용 중지 된 경우에도 Chrome의 REST 콘솔에서 직접 POST 요청을 시도하면 스크립트에 406이 표시됩니다.
create 함수 내에서 무슨 일이 일어나고 있는지 전혀 모르기 때문에 디버깅이 악몽이되었습니다. 주문 생성 로직을 제거하고 요청 페이로드를 에코합니다. 여전히 406/401 오류가 발생합니다.
주문에 사용자 인증이 필요하기 때문에 401 오류가 발생한다고 가정합니다 (서비스에 대해 OAuth가 꺼져 있어도).
그래도 왜 406 오류가 발생하는지 이해하지 못합니다. REST 서버가 반환하도록 설정된 응용 프로그램 / json을 수락합니다.
주문 작성 로직을 주석 처리하기 전에 주문이 작성되지 않았습니다. (사이트의 다른 곳을 효과적으로 사용하는 경우)
미리 감사드립니다.
-티