Microsoft Graph API Outlook отправлять вложения - PullRequest
0 голосов
/ 24 февраля 2020

Как вы отправляете вложения с помощью Microsoft Graph Outlook API? Я все понимаю для отправки вложений вплоть до байтов контента. Файлы, которые мне нужно отправить, - это документ Word, PDF и JPEG. Он просит меня превратить файл в байты, если да, то как мне это сделать? Я использую node.js и у меня есть следующий код:

  exports.send_mail = async function(req, res, next) {
    let parms = { title: 'Inbox', active: { inbox: true } };
    const accessToken = await authHelper.getAccessToken(req.cookies, res);
    const userName = req.cookies.graph_user_name;

    if (accessToken && userName) {
      parms.user = userName;

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


      //read test.html
      //so you have to wait for the file to read then send it
      message = fs.readFileSync('views/test.html', 'utf8');

      console.log(rawImage.data.toString('utf8'))

      try {
        mailMess ={
          message:{
            subject: 'This is a test',
            body:{
              ContentType: 'HTML',
              Content: message
            },
            ToRecipients:[
              {
                EmailAddress:{
                  Address: 'name@email.com'
                }
              }
            ],
            "attachments": [
              {
                "@odata.type": "#microsoft.graph.fileAttachment",
                "name": "attachment.jpeg",
                "contentBytes": "not sure what to put here"
              }
            ]
          }
        }
        //sendmail
        const result = await client
        .api('/me/sendmail')
        .version('v1.0')
        .post(mailMess);
        res.status('202')

        parms.messages = result.value;
        res.redirect('/');
      } 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);
      }

    } else {
      // Redirect to home
      res.redirect('/');
    }
  }

1 Ответ

0 голосов
/ 24 февраля 2020

Я обнаружил, что параметр принимает файл, закодированный как base64

...