تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
1806 أدوات العرض

Hi, I believe this to be a different issue to my other posts however it does involve my beloved webhooks. Im still trying to get them working and understand them.

So, what I have is:

1) postman send:

{ "id": 1, "name": "fred"}

----------------------------------------

2) The code to execute:

try:

    data = request.get_json_data()

except:

    data = str(request.get_http_params())


id = data[0]

message = data[1]

note = id,message


env['mail.message'].create({

    'author_id': 2,

    'model': 'project.task',

    'res_id': 1,

    'body': note,

    'message_type': 'comment',

    'subtype_id': 2,

})

----------------------------------------

3) The output in "todo" chatter (project.task)

('{', '}')

----------------------------------------

After testing, I found that the try was failing and therefore the except was executing. 

No matter how I sliced "data" there were only 2 elements data[0] was "{" and data[1] was "}". Anything else through and exception. 

So, it appears to me that, putting the fact that the request.get_json_data() did not run, why would the request.get_http_params() not contain the parameters pass in?

Can anyone enighten me on what is going on here?

Once again, thank you so, so much for reading and help.

الصورة الرمزية
إهمال
أفضل إجابة

Hi,
Adjust below variables as follows:

id = data[0]

message = data[1]

Change the above to

id = payload['id']

message = payload['message]

Thanks

الصورة الرمزية
إهمال
الكاتب

Wow, so all those vids I've been watching which tell us to use the request.get_json_data() are not that useful if all the data is already in payload.
Yet again, you are the GOAT Niyas.

المنشورات ذات الصلة الردود أدوات العرض النشاط
0
يناير 25
908
1
أكتوبر 24
2879
2
مارس 25
1890