ฉันทำงานเกี่ยวกับเรื่องนี้มาสองสามสัปดาห์แล้วและฉันไม่สามารถหาทางออกให้กับชีวิตของฉันได้ ความจริงที่ว่าฉันไม่พบเอกสารที่เหมาะสม (บนเว็บไซต์ของ Drupal หรือที่อื่น ๆ ) ก็ไม่มีประโยชน์เช่นกัน และคำถามที่มีอยู่แล้วในที่นี้ล้าสมัย (บริการ 2.x)
ฉันกำลังพยายามสร้างบริการ REST สำหรับไซต์ที่ได้รับการสนับสนุน Drupal Commerce สำหรับตอนนี้บริการทั้งหมดจะต้องทำเพื่อให้สามารถดำเนินการ CRUD ขั้นพื้นฐานบนทรัพยากรการสั่งซื้อและปลอดภัยด้วย OAuth, OAuth 2.0 ไม่จำเป็น มันจะต้องถูกเรียกด้วยสคริปต์บนเซิร์ฟเวอร์ดังนั้นการลงชื่อเข้าใช้อีกครั้งจะเป็นไปไม่ได้
สแต็กปัจจุบันคือ:
- PHP 5.3.15
- Drupal 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
- บริการด้านการพาณิชย์ 7.x-1.x-dev (นี่คือโมดูลที่ฉันได้เพิ่มรหัสคำสั่งซื้อที่กำหนดเองไป)
ฉันสามารถรับฟังก์ชั่น Retrieve / Index เพื่อใช้งานคำสั่งซื้อได้ถ้าฉันใช้ไลบรารี OAuth PHP และเพียงเรียกคำขอโทเค็นทุกครั้ง (ฉันไม่แน่ใจด้วยซ้ำว่าเกิดอะไรขึ้นยกเว้นว่ามันเป็นของแท้ ... ) หากฉันพยายาม POST to Orders และสร้างคำสั่งซื้อฉันจะได้รับ 406 พร้อมสคริปต์และ 401 เมื่อฉันลองคำขอ POST โดยตรงจาก REST Console ใน Google Chrome แม้ว่า OAuth จะถูกปิดใช้งาน
สิ่งนี้ทำให้การดีบักฝันร้ายเพราะฉันไม่รู้ว่าเกิดอะไรขึ้นในฟังก์ชั่นการสร้างของฉัน ฉันพยายามลอกมันออกมาเป็นตรรกะการสร้างคำสั่งซื้อแล้วก็สะท้อนกลับไปที่เพย์โหลดคำขอ ยังคงได้รับข้อผิดพลาด 406/401
ฉันถือว่าฉันได้รับข้อผิดพลาด 401 เนื่องจากคำสั่งซื้อต้องการการตรวจสอบผู้ใช้ (แม้ว่า OAuth จะปิดใช้งานสำหรับบริการ)
ฉันไม่เข้าใจว่าทำไมฉันถึงได้รับข้อผิดพลาด 406 ครั้ง ฉันยอมรับ application / json ซึ่งเป็นสิ่งที่เซิร์ฟเวอร์ REST ของฉันตั้งค่าให้ส่งคืน
คำสั่งซื้อไม่ได้ถูกสร้างขึ้นก่อนที่ฉันจะแสดงความคิดเห็นเกี่ยวกับตรรกะการสร้างคำสั่งซื้อ (ซึ่งฉันใช้ที่อื่นในเว็บไซต์ได้อย่างมีประสิทธิภาพ)
ขอบคุณล่วงหน้า
-T