मैं कुछ ऐसा करने की कोशिश कर रहा हूं जो मुझे विश्वास है कि इतना आसान है और जब मैं डाकिया के साथ अपने अंतिम बिंदु का परीक्षण करता हूं तो यह ठीक काम करता है, हालांकि जब साइट चालू होती है, तो मुझे "त्रुटि" मिलती है
ये मेरी वर्तमान सेटिंग्स हैं:
twilio==6.29.1
Django==2.0.7
djangorestframework==3.9.4
Python 3.6.8
ट्विलियो के साथ एक एसएमएस भेजने के बाद:
client = Client(key1,key2)
message = client.api.account.messages.create(
body= request.data["Body"],
to= request.data["toNumber"],
status_callback='https://myurl',
from_= request.data["fromNumber"]
)
मैंने कॉल बैक सेट अप कर लिया है
class SMSCallBack(APIView):
parser_classes = (JSONParser,)
def post(self, request, format=None):
print(request.GET)
print(request.GET.getlist('SmsSid'))
return Response({'xxx': 'xxx'})
हालाँकि यह लॉग में मेरा जवाब है
<QueryDict: {}>
[]
अगर मैं डाकिया में ऐसा करने की कोशिश करता हूं तो मुझे मिलता है
<QueryDict: {'SmsSid': ['asd']}>
['asd']
अब मैं डाकिया के साथ अनुमान लगा रहा हूं कि मैंने इसे सही तरीके से सेट किया है (पोस्ट करें, और पैरा टैब में एक मान जोड़ें) क्योंकि ट्विलियो से कंसोल लॉग यह इंगित कर रहा है कि वे जो कई पैरा भेज रहे हैं उनमें से एक एसएमएससिड है
मैं Django और अजगर के साथ काफी नया हूं, तो आने वाले पैरामीटर प्राप्त करने का प्रयास करते समय शायद कुछ ऐसा है जो मुझे याद आ रहा है?
जब मैं कोशिश करता हूँ
request.POST.getlist('SmsSid')
मेरा परिणाम है:
2019-07-15T05:15:25.735240+00:00 app[web.1]: 10.65.77.132 - - [15/Jul/2019:05:15:25 +0000] "POST /XXXX/smscallback/ HTTP/1.1" 415 100 "-" "TwilioProxy/1.1"
2019-07-15T05:15:25.738919+00:00 heroku[router]: at=info method=POST path="/XXXX/smscallback/" host=XXX.com request_id=3c5b81c2-003b-461a-8bd9-3e79d4545a9a fwd="3.94.8.12" dyno=web.1 connect=1ms service=783ms status=415 bytes=346 protocol=https
जब मैं डाकिया में कोशिश करता हूं तो मुझे मिलता है
[]
1 उत्तर
ट्विलियो डेवलपर इंजीलवादी यहाँ।
Twilio आपके स्टेटस कॉलबैक एंडपॉइंट पर एक POST अनुरोध करने जा रहा है। तो डेटा अनुरोध निकाय में होगा, request.POST
के अंतर्गत request.GET
के अंतर्गत नहीं।
आपका कोड यह भी दर्शाता है कि आप आने वाले अनुरोध को पार्स करने के लिए JSONParser
का उपयोग कर रहे हैं। Twilio अनुरोध को application/x-www-form-urlencoded
के रूप में भेजता है, इसलिए आपको इसके बजाय FormParser
का उपयोग करना चाहिए।
मुझे बताएं कि क्या इससे बिल्कुल मदद मिलती है।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।