加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 通过o365 v2 api访问共享邮箱

发布时间:2020-12-13 22:26:26 所属栏目:PHP教程 来源:网络整理
导读:所以我可以访问新的o365 v2 api,到目前为止它还运行得很好.但是我无法访问任何共享的收件箱. 更糟糕的是,似乎没有返回任何错误消息: @odata.context = https://outlook.office.com/api/v2.0/$metadata#Me/Messages(Subject,ReceivedDateTime,SentDateTime,S
所以我可以访问新的o365 v2 api,到目前为止它还运行得很好.但是我无法访问任何共享的收件箱.

更糟糕的是,似乎没有返回任何错误消息:

@odata.context = https://outlook.office.com/api/v2.0/$metadata#Me/Messages(Subject,ReceivedDateTime,SentDateTime,Sender,From,ToRecipients,CcRecipients,BccRecipients,ReplyTo,ConversationId,IsRead,InternetMessageId

[value] =

有没有人试过这个?

澄清一下,这不是交换,而是outlook.com

解决方法

您似乎正在使用委托令牌来请求来自特定用户的消息以获取共享框中的消息.

Office 365 REST API仅支持应用程序级令牌以从组织获取消息.委托令牌只能获取委托用户的消息.

您还可以考虑使用EWS来检索共享框的消息作为变通方法.

以下是供您参考的示例:

string userName = "";
        string password = "";

        ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
        service.Credentials = new NetworkCredential(userName,password);

        service.TraceEnabled = true;
        service.TraceFlags = TraceFlags.All;

        service.AutodiscoverUrl(userName,RedirectionUrlValidationCallback);


        FolderId SharedMailbox = new FolderId(WellKnownFolderName.Inbox,"sharedmailbox@consoto.onmicrosoft.com");
        ItemView itemView = new ItemView(10);
        var results = service.FindItems(SharedMailbox,itemView);
        foreach (var item in results)
        {
            Console.WriteLine(item.Subject);
        }

如果您希望Office 365 REST API支持此功能,您还可以从here提交反馈.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读