Microsoft Graph sendMail не работает и возвращает NULL - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь отправлять электронные письма с помощью MS Graph 1.0, и у меня нет ни одного результата или ответа. Электронные письма не были отправлены, и метод sendMail не возвращает никаких сообщений об ошибках ... он только говорит "null".

Мой код основан на этом примере https://github.com/microsoftgraph/msgraph-sdk-javascript#post-and-patch и выглядит так:

// Initialize Graph client
  const client = graph.Client.init({
    authProvider: (done) => {
      done(null, accessToken);
    }
  });

  try {
    // construct the email object
    var mail = {
        subject: "Microsoft Graph JavaScript Sample",
        toRecipients: [{
            emailAddress: {
                address: "mail@domain.com"
            }
        }],
        body: {
            content: "<h1>MicrosoftGraph JavaScript Sample</h1>Check out https://github.com/microsoftgraph/msgraph-sdk-javascript",
            contentType: "html"
        }
    };

    client
        .api('/me/sendMail')
        .post({message: mail}, (err, res) => {
            console.log("---> " + res);
        });

    console.log("Try ends");

  } catch (err) {
    parms.message = 'Error retrieving messages';
    parms.error = { status: `${err.code}: ${err.message}` };
    parms.debug = JSON.stringify(err.body, null, 2);
    res.render('error', parms);
  }

Полагаю, для mail var нужен заголовок, но в любом случае API должен что-то мне вернуть, верно? И, очевидно, в чем проблема с отправкой электронной почты?

1 Ответ

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

Я наконец-то добавил rawResponse к вызову .post и посмотрю на журнал ошибок ...

client
  .api('/me/sendMail')
  .header("Content-type", "application/json")
  .post({message: mail}, (err, res, rawResponse) => {
      console.log(rawResponse);
      console.log(err);
});

... и я увидел, что у меня проблема с токеном аутентификации. Итак, я правильно использовал API, и код из вопроса в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...