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

所以我可以访问新的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提交反馈.

转载注明原文:php – 通过o365 v2 api访问共享邮箱 - 代码日志