Интеграция Sendgrid с приложением SAPUI5 возвращает «400 неверных запросов» на POST, но работает на почтальоне - PullRequest
0 голосов
/ 03 января 2019

Я разрабатываю гибридное приложение Cordova, которое использует библиотеку UI5.Мне нужно иметь возможность отправлять электронную почту из приложения, поэтому я решил использовать Sendgrid API и, поскольку у меня возникли проблемы с модулем NodeJS, я создаю запрос AJAX.Ранее я проверил запрос с почтальоном, чтобы успешно отправлять электронные письма.Но, пытаясь выполнить тот же запрос из приложения, я наткнулся на статус «400 неверных запросов» без дополнительной информации.Вот фрагмент кода:

            var settings = {
                "async": true,
                "crossDomain": true,
                "url": "https://api.sendgrid.com/v3/mail/send",
                "method": "POST",
                "headers": {
                    "Content-Type": "application/json",
                    "Authorization": "Bearer [REDACTED]",
                    "cache-control": "no-cache"
                },
                "processData": false,
                "data": {
                    "personalizations": [
                        {
                        "to": [
                            {
                                "email": "myemail@gmail.com"
                            }
                        ],
                        "subject": "Contato do app"
                        }
                    ],
                    "from": {
                        "email": "anotheremail@gmail.com"
                    },
                    "content": [
                        {
                            "type": "text/plain",
                            "value":  formatEmail //variable with the email text
                        }
                    ]
                }
            }

            $.ajax(settings).then(
                function success(response, status) {
                    dialog.close();
                    if (status == 202){
                        MessageBox.confirm('Mensagem enviada com sucesso', {
                            actions: [sap.m.MessageBox.Action.OK],
                            onClose: function(sAction){
                                that.onNavBack()
                            }
                        });
                    } else {
                        MessageBox.error('Erro!');
                    }
                },

                function fail(data, status){
                    dialog.close();
                    MessageBox.error('Request failed.  Returned status of ' + status + ' DEBUGDATA: ' + JSON.stringify(data));
                }  
            );

Я действительно не могу понять причину, по которой это происходит, потому что фрагмент, сгенерированный Postman, очень похож на мой код.Любая помощь будет высоко ценится!

Заранее спасибо

1 Ответ

0 голосов
/ 04 января 2019

обычно HTTP 400 означает неверный запрос, и это означает, что вы передаете неправильные параметры в запрос HTTP POST.

...