我正在尝试编写一个 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)