C# Office 365统一api(预览)组文件仅在某些租户中返回500个内部服务器错误

C# Office 365统一api(预览)组文件仅在某些租户中返回500个内部服务器错误,c#,azure,office365,azure-active-directory,office365api,C#,Azure,Office365,Azure Active Directory,Office365api,我已成功使用Office 365统一API将我的多租户SaaS应用程序链接到Office 365,并返回统一组的文件。我使用ADAL库和统一API nuget包来实现这一点。根据统一API预览发行说明,我们已在Azure AD应用程序中请求以下权限(以及其他权限)-Group.Read.All、Group.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All。我很欣赏ReadWrite使阅读变得不必要,但我们添加了这两个集合,以尝试保护自己免受一些可能

我已成功使用Office 365统一API将我的多租户SaaS应用程序链接到Office 365,并返回统一组的文件。我使用ADAL库和统一API nuget包来实现这一点。根据统一API预览发行说明,我们已在Azure AD应用程序中请求以下权限(以及其他权限)-Group.Read.All、Group.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All。我很欣赏ReadWrite使阅读变得不必要,但我们添加了这两个集合,以尝试保护自己免受一些可能的预览问题的影响

现在我们有了一个租户,他可以读取组,但不能访问组中的文件。这在其他租户中运行良好

调试代码时,我们发现此行引发了空引用异常:

IPagedCollection<IItem> files = await _client.groups.GetByID(groupId).files.ExecuteAsync()
因此,我们使用HTTP客户端发出了相同的文件请求,以便从服务器获得更详细的响应:

这将返回状态代码500-内部服务器错误,内容为“对象引用未设置为对象的实例”。不是很有帮助

我看到过一些关于人们在权限设置不正确时遇到类似问题的帖子,但在我的例子中,我不明白为什么在一个Office 365租约中检索统一组文件的调用可以正常工作,而在另一个租约中则不行,因为他们的权限由同一Azure AD应用程序控制,因此完全相同一样

这些组都是在Office 365 Web应用程序中创建的,而不是通过统一API创建的,因此这不是一个因素

Office 365中是否有管理员可以用来限制对统一api请求的访问权限?我在文档中看不到任何内容,但即使是这样,我也希望得到未经授权的响应,而不是内部服务器错误


任何想法都非常感谢

对这个问题感到抱歉。所以我相信我们无意中提前推动了一个更改,而您在我们恢复更改之前成功地实现了这一点。我们正在通过OneDrive API更新对文件的访问,这将导致一个突破性的变化。您可以阅读更多关于这一点的信息,以及我们计划于19年10月更新的/beta端点上的突破性信息,这里:。更新后,访问文件将需要以下语法:

注意:我们需要为此生成一个新的客户端库。您当前使用的版本将因此更新而中断。我们希望在此次服务更新后很快推出一个新的客户端库

现在我不确定这是否正是你偶然发现的,或者这是否是一个不同的问题。你能再试一次吗(在我们于19月10日下午12点更新之前)


希望这有帮助,

我想这肯定是问题所在,谢谢Dan。有关于更新的客户端库的新闻吗?目前,在发布新库之前,我们无法继续开发(如果新库即将可用,手动创建所有rest调用并解析响应是毫无意义的)。谢谢
IGroup group = await _client.groups.GetById(groupId).ExecuteAsync()