Могу ли я сделать вызов API «Mailjet», используя fetch? - PullRequest
0 голосов
/ 06 ноября 2019

Я бы хотел сделать запрос к API "Mailjet" из приложения реагирования. Для этого я хотел бы использовать API выборки.

Согласно документации, я могу использовать curl:

curl -s \
  -X POST \
  --user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
  https://api.mailjet.com/v3.1/send \
  -H 'Content-Type: application/json' \
  -d '{
    "Messages":[
      {
        "From": {
          "Email": "toto@toto.fr",
          "Name": "toto"
        },
        "To": [
          {
            "Email": "passenger1@example.com",
            "Name": "passenger 1"
          }
        ],
        "TemplateID": 1074249,
        "TemplateLanguage": true,
        "Subject": "Hi there !",
        "Variables": {}
      }
    ]
  }'

Я попытался извлечь следующий код:

fetch('https://api.mailjet.com/v3.1/send',{
      method : 'POST',
      mode : 'no-cors',
      headers : {
        'Content-Type': 'application/json',
        'client_id':'xxx111',
        'client_secret':'xxx000'
      },
      body : {
                "Messages":[
                            {
                              "From": {
                                "Email": "toto@toto.fr",
                                "Name": "Toto"
                              },
                              "To": [
                                {
                                  "Email": "email@email.com"
                                }
                              ],
                              "TemplateID": 1094249,
                              "TemplateLanguage": true,
                              "Subject": "Hi there",
                              "Variables": {

                              }
                            }
                        ]
              }
    })
    .then(resp=>resp.json())
    .then(data => {
      console.log('data mailjet', data);
    })
    .catch(err => err)

Я всегда получал ошибку 401 "не авторизован". Я уверен, что мои ключи API установлены неправильно, но я не знаю, как их установить с помощью fetch. Могу ли я сделать этот вызов API из своего приложения Reaction или мне нужно создать собственный API и запросить ресурсы с помощью узла? Большое спасибо !!

...