मैं अभी कुछ सप्ताह से इस मुद्दे पर काम कर रहा हूं, और मुझे मेरे जीवन का कोई हल नहीं मिल रहा है। यह तथ्य कि मुझे कोई अच्छा दस्तावेज़ नहीं मिला है (Drupal की वेबसाइट पर, या कहीं और) कोई मदद नहीं है। और यहाँ पहले से ही प्रश्न पुराने हैं (सेवाएं 2.x)।
मैं एक Drupal वाणिज्य समर्थित साइट के लिए एक REST सेवा बनाने का प्रयास कर रहा हूं। अभी के लिए सभी सेवा करना चाहिए आदेश संसाधन पर बुनियादी CRUD संचालन के लिए अनुमति है, और OAuth के साथ सुरक्षित किया जाना चाहिए, OAuth 2.0 आवश्यक है। इसे एक सर्वर पर स्क्रिप्ट के साथ भी बुलाया जाना चाहिए, इसलिए लॉगिन री-डायरेक्ट करना असंभव है (2-पैर वाले प्रमाणीकरण के साथ सब कुछ किया जाता है)।
वर्तमान ढेर है:
- PHP 5.3.15
- द्रुपाल 5.१५
- वाणिज्य किकस्टार्ट प्रोफाइल (7.x-2.0-rc1)
- सेवाएँ 7.x-3.2
- औथ 7.x-3.0 + 18-देव
- OAuth प्रमाणीकरण 7.x-3.2
- REST सर्वर 7.x-3.2
- वाणिज्य सेवाएँ 7.x-1.x-dev (यह वह मॉड्यूल है जिसे मैंने अपना कस्टम ऑर्डर कोड जोड़ा है)
अगर मैं एक OAuth PHP लाइब्रेरी का उपयोग करता हूं और मैं हर बार टोकन अनुरोध का उपयोग करता हूं, तो मैं आदेश प्राप्त करने के लिए रिट्रीव / इंडेक्स फ़ंक्शंस प्राप्त कर सकता हूं (मुझे यकीन नहीं है कि वहां क्या हो रहा है, सिवाय इसके कि यह प्रमाणित हो ...)। यदि मैं आदेशों को POST करने की कोशिश करता हूं और एक आदेश बनाता हूं, तो मुझे स्क्रिप्ट के साथ 406 मिलता है, और 401 जब मैं Google Chrome में REST कंसोल से प्रत्यक्ष POST अनुरोध का प्रयास करता हूं, तब भी जब OAuth अक्षम होता है।
यह एक बुरा सपना बना रहा है क्योंकि मुझे नहीं पता कि मेरे बनाने के समारोह के अंदर क्या हो रहा है। मैंने इसके ऑर्डर क्रिएशन लॉजिक को अलग करने की कोशिश की और अनुरोध पेलोड को वापस ले लिया। फिर भी 406/401 त्रुटियां प्राप्त करें।
मुझे लगता है कि मुझे 401 त्रुटियां मिलती हैं क्योंकि आदेशों को एक उपयोगकर्ता प्रमाणीकरण की आवश्यकता होती है (भले ही OAuth सेवा के लिए बंद हो)।
मुझे समझ नहीं आता कि मुझे 406 त्रुटियां क्यों हो रही हैं। मैं आवेदन / json स्वीकार करता हूं, जो कि मेरा REST सर्वर वापस लौटने के लिए तैयार है।
आदेश सृजन तर्क के बारे में टिप्पणी करने से पहले भी आदेश नहीं बनाए जा रहे थे। (जो मैं साइट में कहीं और प्रभावी रूप से उपयोग करता हूं।)
पहले से प्रशंसा।
-टी