1

我正在尝试编写一个 nodejs 服务来使用 Microsoft 的图形 api 检索电子邮件附件。

我可以使用我的设置来检索收件箱消息,所以我很确定已经获得了必要的权限和 oauth 令牌。但为了清楚起见,我使用的是 client_credentials,并在 Azure 中为该服务提供了这个:

权限

当我从包含 0 个附件的消息中请求附件时,请求会快速返回一个空数组(如预期的那样)。

当我为带有附件的消息发送消息 ID 时,请求超时。我已将超时设置为 30 秒。有问题的附件约为 20KB,因此大小应该不是问题。

我错过了什么?

const baseUrl = `https://graph.microsoft.com/${config.graphClientVersion}/`
const attachmentsUrl = (user, messageId) => `${baseUrl}users/${user}/messages/${messageId}/attachments`

const getAttachments = async (user, mailMessageId) => {
    try {
        const result = await client
            .api(attachmentsUrl(user, mailMessageId))
            .get()

        console.log(`Graph request returned: ${JSON.stringify(result)}`)
        return result
    } catch (err) {
        console.log(err)
    }
}

//spec
it('can get attachments from emails', async () => {
    const emails = (await graph.getEmail('redacted@something.com')).value
    const result = await graph.getAttachments('redacted@something.com', emails[0].id)
    expect(result).to.exist
}).timeout(10000)
4

0 回答 0