标签: microsoft-graph

Outlook REST API与Microsoft Graph

我正在开发一个需要从Outlook.com和Office 365检索和编辑日历事件的应用程序.我看到有两个选项:

  1. Outlook REST API
  2. Microsoft Graph

他们似乎有几乎相同的界面.我看到Outlook REST API支持通知(webhooks),Microsoft图形不支持?那么选择哪一个,有哪些优点/缺点以及为什么有2个api?

outlook-restapi microsoft-graph

29
推荐指数
1
解决办法
5818
查看次数

无法在Microsoft Graph 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)

如果我删除过滤器,请求有效,并且我能够使用更简单的过滤器执行请求.

我的网址有问题,还是有另外一种方式来提出请求?

odata microsoft-graph

20
推荐指数
2
解决办法
2256
查看次数

Microsoft Graph-修补日历事件时出现PopAuthenticatorInvalidSignature错误

向发出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)

如果需要,很乐意提供其他信息。

office365 outlook-restapi microsoft-graph

15
推荐指数
1
解决办法
492
查看次数

Azure AD B2C应使用哪个Graph API

我们正在考虑在应用程序中使用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交互的正确程序包是什么?是否有示例显示如何执行此操作?

azure-active-directory microsoft-graph azure-ad-b2c

13
推荐指数
1
解决办法
4932
查看次数

如何获取所有用户的OneDrive文件的管理员访问权限

我是Office 365部署的租户管理员.我们的内部系统需要访问所有OneDrive站点.我们使用我的租户管理员凭据获取OAuth令牌,并尝试使用带有该OAuth令牌的SharePoint/OneDrive REST API从所有OneDrive站点获取文件.

使用租户管理员的OAuth令牌,我们只能获取租户管理员拥有的文件或与租户管理员共享的文件.我们无法从其他用户的OneDrive获取文件.

与Microsoft Graph API也有相同的结果.我们只能获取租户管理员拥有的文件或与租户管理员共享的文件.我们无法从其他用户的OneDrive获取文件.

一个解决方案是将所有OneDrive站点的租户管理员添加到网站集管理员,但这对我们来说不是一个可行的选择.

是否有任何API或任何其他方式通过使用OneDrive管理员或租户管理员凭据获取所有OneDrive用户的文件?

谢谢,阿比

office365 onedrive microsoft-graph

12
推荐指数
1
解决办法
1180
查看次数

在不使用登录页面的情况下访问Microsoft Graph API

我想访问用户的一个驱动器来上传文档或使用Graph API检索文档.我在网上看过多个例子,要求用户使用标准登录页面登录.您需要从登录页面获取授权代码,然后使用它来获取令牌,最终可以用来访问驱动器等资源.

我正在寻找一种方法来做到这一点,而无需通过登录页面.我可以拥有自己的登录页面,我可以请求用户登录.

简而言之,我想使用像Postman这样的REST客户端访问Graph API的驱动资源(从授权到访问资源).这可能吗?

microsoft-graph

12
推荐指数
3
解决办法
9480
查看次数

使用$ filter与Microsoft Graph Excel 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".

excel microsoft-graph

11
推荐指数
2
解决办法
721
查看次数

如何使用MS Graph或Office 365 REST API创建组织联系人

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

11
推荐指数
1
解决办法
791
查看次数

ADAL.js和MSAL.js有什么区别?

我正在尝试处理使用Microsoft Graph的应用程序的身份验证.

这两个库有什么区别?

ADAL.js只是一个Angular 1的MSAL.js库吗?

adal microsoft-graph azure-ad-msal

11
推荐指数
1
解决办法
2437
查看次数

为Microsoft Graph创建一个等效于"包含"的筛选器查询

我需要$filterMicrosoft 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尝试查询.

search filter odata microsoft-graph

11
推荐指数
2
解决办法
2121
查看次数