我正在开发一个需要从Outlook.com和Office 365检索和编辑日历事件的应用程序.我看到有两个选项:
他们似乎有几乎相同的界面.我看到Outlook REST API支持通知(webhooks),Microsoft图形不支持?那么选择哪一个,有哪些优点/缺点以及为什么有2个api?
我试图获取由Microsoft Graph API收件人筛选的邮件列表.我用于请求的网址是:
https://graph.microsoft.com/beta/me/messages?$filter=toRecipients/any(r: r/emailAddress/address eq '[Email Address]')
但我得到的是这个回应:
{
"error": {
"code": "ErrorInvalidUrlQueryFilter",
"message": "The query filter contains one or more invalid nodes.",
"innerError": {
"request-id": "7db712c3-e337-49d9-aa8d-4a5d350d8480",
"date": "2016-09-28T16:58:34"
}
}
}
Run Code Online (Sandbox Code Playgroud)
一个成功的请求应该是这样的(我已经省略了更多的数据).
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('99999999-9999-9999-9999-999999999999')/messages",
"@odata.nextLink": "https://graph.microsoft.com/beta/me/messages?$skip=10",
"value": [
{
"toRecipients": [
{
"emailAddress": {
"name": "[Name]",
"address": "[Email Address]"
}
}
],
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果我删除过滤器,请求有效,并且我能够使用更简单的过滤器执行请求.
我的网址有问题,还是有另外一种方式来提出请求?
向发出PATCH
请求时,图表api出现错误https://graph.microsoft.com/v1.0/me/calendars/$(CALENDAR_ID)/events/$(EVENT_ID)
。
这是已经进行了一段时间的集成,而我们之前从未见过。这是API,停机时间还是我们应该处理的错误?这是一个示例响应:
HTTP 401
{
"error": {
"code": "PopAuthenticatorInvalidSignature",
"message": "Signature is invalid for pop authenticator.",
"innerError": {
"date": "2019-09-25T18:33:37",
"request-id": "1383b020-6ba0-44db-85b8-03cfbf277cd3"
}
}
}
Run Code Online (Sandbox Code Playgroud)
以下是其他请求ID:
0c2a47da-1090-4c06-b5cb-fc95b3964913
7403116f-3edd-4d39-adf9-51ed2feaee23
27df39b8-43ad-41f8-b9f1-b5e2adaafb4b
408c8686-bf78-4a82-883a-7e794838d846
7130b609-1a0a-46f2-b523-0db1db591fe1
9659a797-180f-4f41-bba0-b1b490408752
161ea8d8-dcf5-4f0d-aa21-32b584e22ba6
Run Code Online (Sandbox Code Playgroud)
如果需要,很乐意提供其他信息。
我们正在考虑在应用程序中使用Azure AD B2C,我对使用Azure AD B2C时要使用的软件包感到困惑.
此问题讨论了MSAL和ADAL库之间的区别:用于Azure AD B2C和Xamarin的MSAL或ADAL库.
除此之外,Azure AD Graph API引用现在出现警告,而不是使用Microsoft Graph API.B2C的所有示例似乎都没有使用Microsoft Graph API,似乎没有关于使用B2C的Microsoft Graph支持级别的描述.
我需要能够在B2C中创建具有自定义属性的用户,然后使用Graph API查询它们.
用于与Azure AD B2C交互的正确程序包是什么?是否有示例显示如何执行此操作?
我是Office 365部署的租户管理员.我们的内部系统需要访问所有OneDrive站点.我们使用我的租户管理员凭据获取OAuth令牌,并尝试使用带有该OAuth令牌的SharePoint/OneDrive REST API从所有OneDrive站点获取文件.
使用租户管理员的OAuth令牌,我们只能获取租户管理员拥有的文件或与租户管理员共享的文件.我们无法从其他用户的OneDrive获取文件.
与Microsoft Graph API也有相同的结果.我们只能获取租户管理员拥有的文件或与租户管理员共享的文件.我们无法从其他用户的OneDrive获取文件.
一个解决方案是将所有OneDrive站点的租户管理员添加到网站集管理员,但这对我们来说不是一个可行的选择.
是否有任何API或任何其他方式通过使用OneDrive管理员或租户管理员凭据获取所有OneDrive用户的文件?
谢谢,阿比
我想访问用户的一个驱动器来上传文档或使用Graph API检索文档.我在网上看过多个例子,要求用户使用标准登录页面登录.您需要从登录页面获取授权代码,然后使用它来获取令牌,最终可以用来访问驱动器等资源.
我正在寻找一种方法来做到这一点,而无需通过登录页面.我可以拥有自己的登录页面,我可以请求用户登录.
简而言之,我想使用像Postman这样的REST客户端访问Graph API的驱动资源(从授权到访问资源).这可能吗?
使用Microsoft Graph,我可以从表中访问行,如下所示:
/v1.0/drives/..../workbook/worksheets/Sheet4/tables/2/rows
Run Code Online (Sandbox Code Playgroud)
该文件规定:
此方法支持OData查询参数以帮助自定义响应.
我是能够使用$select
的查询参数:
/v1.0/drives/..../workbook/worksheets/Sheet4/tables/2/rows?$select=values.
Run Code Online (Sandbox Code Playgroud)
但是我如何使用$search
或$filter
查询参数?例如,我想搜索列'employeeName'
包含字符串的行"John"
.
Office 365管理中心允许创建与组织中的所有用户共享的组织联系人.
在MS Graph文档中,此功能的API记录严密,位于BETA部分.此外,没有命令创建这样的联系人:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/orgcontact
在Graph中看起来这个功能没有实现.对/ beta/contacts使用典型的POST请求以Json结构中的错误响应结束:Unsupported resource type 'Contact' for operation 'Create'.
注1:我没有任何用户登录.我的应用程序使用服务/守护程序身份验证.
有没有其他方法可以创建组织联系?
我正在尝试处理使用Microsoft Graph的应用程序的身份验证.
这两个库有什么区别?
ADAL.js只是一个Angular 1的MSAL.js库吗?
我需要$filter
为Microsoft Graph API创建一个查询,以查找字符串中的特定单词(用户的显示名称).
例如,我希望能够找到名称中包含"Esteban"的所有用户:
Luis Esteban
Alphonse Esteban
Esteban Luis
Alphonse Esteban Luis
以下查询有效,但仅返回名称中以"Esteban"开头的用户,而不是包含"Esteban"的用户:
https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName,'Esteban')
Run Code Online (Sandbox Code Playgroud)
我也尝试使用contains
而不是startswith
,但它给出了错误响应:
{"error":{"code":"Request_BadRequest","message":"找到名为'contains'的未知函数.这也可能是导航属性的键查找,这是不允许的."," innerError":{"request-id":"e5ed5c30-4e62-4497-8976-1d38167e759d","date":"2018-09-13T23:17:17"}}}
即使Microsoft Graph文档说他们支持OData 4.0,他们也说:
"任何Microsoft Graph资源目前都不支持包含字符串运算符."
我还尝试了OData文档给出的其他命令以及应该由其他查询参数支持的构造规则filter
.
特别是我尝试了这些命令的组合:
startswith
的endsWith
的indexOf
子
但没有成功.似乎MS Graph API除了startswith
任何东西都不支持任何东西.
我尝试了v1.0和API的beta端点.
有没有其他方法,MS Graph API支持的OData 4.0命令和/或查询参数的一些智能组合,允许搜索相当于?contains
PS:您可以在此处使用Graph Explorer尝试查询.
microsoft-graph ×10
odata ×2
office365 ×2
adal ×1
azure-ad-b2c ×1
excel ×1
filter ×1
onedrive ×1
search ×1