我正在尝试在驱动器上调用OneDrive API的搜索端点(即let model = [
{
Question: '1 + 1',
QuestionTypeId: 1,
Answer: '2',
QuizId: 1,
Options: null
},
{
Question: '1 + 2',
QuestionTypeId: 1,
Answer: '3',
QuizId: 1,
Options: null
}
]
let result = knex('Items').insert(model)
。
在Graph Explorer上这可以正常工作,但是,在相同驱动器上没有客户端凭据流的任何搜索结果。
我的应用程序注册具有API文档(https://graph.microsoft.com/v1.0/drives/{drive-id}/root/search(q='mysearchterm')
,Files.Read.All
,Files.ReadWrite.All
,Sites.Read.All
)中提到的所有必需的应用程序权限,并读取驱动器,驱动项,下载驱动器项目一切正常。不起作用的一件事是搜索驱动器项目。我只是得到一个空数组,没有错误;
Sites.ReadWrite.All
我正在将{strong> adal-node 与{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#Collection(driveItem)","value":[]}
一起使用。
acquireTokenWithClientCredentials
我正在搜索的驱动器是SharePoint文档库。
答案 0 :(得分:0)
一些重要提示:客户端凭据流需要在Azure Management Portal而非Applicaation Registeration Portal中注册应用。 Graph Explorer主要基于后一种,因此它们具有不同的后端代码现在很正常。也许他们将来会做同样的逻辑。
我们强烈建议您使用Microsoft Graph代替Azure AD Graph API来访问Azure Active Directory资源。现在,我们的开发工作集中在Microsoft Graph上,并且没有计划对Azure AD Graph API进行进一步的增强。在少数情况下,Azure AD Graph API可能仍然适用;有关更多信息,请参见Office开发人员中心中的Microsoft Graph或Azure AD Graph博客文章。
adal-node与Graph不同,因此您可以在图资源管理器中获得结果,但不能在NodeJS产品中得到结果。我们建议您使用最新的Graph API。