Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
1 Responder
1788 Visualizações

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.

Avatar
Cancelar
Melhor resposta

Hi,
Adjust below variables as follows:

id = data[0]

message = data[1]

Change the above to

id = payload['id']

message = payload['message]

Thanks

Avatar
Cancelar
Autor

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.

Publicações relacionadas Respostas Visualizações Atividade
0
jan. 25
903
1
out. 24
2862
2
mar. 25
1886