POST https://graph.microsoft.com/v1.0/groups/4a3c5f77-463e-XXXXXX-fa8XXXXXX/calendar/events
Accept: application/json
Authorization: Bearer <Token>
Content-Type: application/json; charset=utf-8
{
"originalStartTimeZone": "UTC",
"originalEndTimeZone": "UTC",
"start": {
"dateTime": "2015-12-03T09:30:00-00:00",
"timeZone": "UTC"
},
"end": {
"dateTime": "2015-12-03T10:30:00-00:00",
"timeZone": "UTC"
},
"responseStatus": {
"response": "Accepted",
"time": "2015-12-01T18:34:00-08:00"
},
"reminderMinutesBeforeStart": 15,
"isReminderOn": true
}
Run Code Online (Sandbox Code Playgroud)
错误:
{
"error": {
"code": "ErrorInternalServerError",
"message": "The SMTP address has no mailbox associated with it.",
"innerError": {
"request-id": "f62423b0-0ade-494d-8c8c-1b56db60b524",
"date": "2015-12-02T10:39:44"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试过下面提到的两个帖子,
POST /groups/<id>/events
POST /groups/<id>/calendar/events
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的组类型,包括安全性,已启用邮件和统一组,但我看到相同的错误消息,任何帮助将不胜感激.
我需要发现用户的租户名称,因为服务端点resourceId我将使用Azure服务,要求我指定租户名称:
服务端点: https:// [tenantnamme] .api.crm.dynamics.com / ...
资源ID: https:// [tenantname] .crm.dynamics.com
我希望Unified Microsoft Graph API可以为我发现这一点.我查看了文档,我能看到的最接近的是使用graph.microsoft.com/v1.0/organization,它会返回给我:verifiedDomains:[...."name":"contoso.onmicrosoft.com"]
但是,我不确定这是否是正确的方法.如果组织有多个经过验证的域名怎么办?验证的域名是否与租户名称相同?
更新:这是我的真实场景.我有一个Web应用程序,允许用户通过OAuth2对Azure AD进行身份验证.从OAuth交互中获取刷新令牌和访问令牌没有问题.但是,在使用其他服务的其他服务中,它在服务端点需要[azure-ad-tenant-name].这是我的问题.
最近我们注意到Microsoft Graph API已经将文件附件作为从/ me/messages端点返回的消息实体返回.
重现的场景如下:
还值得注意的是,这些附件"消息"与原始电子邮件具有相同的主题,正文内容设置为附件的文件内容(如果附件是文档),没有发件人或收件人,他们有isRead状态为true,isDraft状态为true.完全废话!
我只能假设这是Graph API中的一个错误 - 我无法看到为什么会出现这种情况.值得注意的是,我已经使用Graph API大约9个月了,这种行为最近才开始发生.
微软的某个人可以尽快与我联系吗?这是API中的一个主要错误,无疑会破坏大多数使用它的应用程序.这也是一个非常值得关注的问题,我们正在改变一个据称稳定的v1.0.为什么不在下一个版本中使用v1.1或v2.0?
今天早上我们注意到"name"属性已从Office 365 Graph API上的最新文件查询中删除,这导致我们的应用程序出现问题.
文档或更改日志中没有公布此更改,因此我认为这是一个意外的更改/错误.文件名可以说是文件中最重要的属性,因此如果没有该信息,这个查询将变得非常有用.
有没有来自Graph API团队的人请指教?提前致谢.
我需要能够使用Microsoft Graph API在ASC/DESC的两个方向上获取事件.我正在尝试使用以下API来实现这一目标:
https://graph.microsoft.com/v1.0/me/events?$orderby=start
Run Code Online (Sandbox Code Playgroud)
但是,当我执行请求时,我收到以下错误:
{
"error": {
"code": "BadRequest",
"message": "The $orderby expression must evaluate to a single value of primitive type.",
"innerError": {
"request-id": "c00d676d-ef8e-418b-8561-80e08729da71",
"date": "2017-11-16T13:31:59"
}
}
}
Run Code Online (Sandbox Code Playgroud)
另外,我试图直接访问日期:
https://graph.microsoft.com/v1.0/me/events?$orderby=start.dateTime
Run Code Online (Sandbox Code Playgroud)
得到以下错误:
{
"error": {
"code": "BadRequest",
"message": "The child type 'start.dateTime' in a cast was not an entity type. Casts can only be performed on entity types.",
"innerError": {
"request-id": "240342f5-d7f6-430b-9bd0-190dc3e1f73b",
"date": "2017-11-16T13:32:39"
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法按ASC/DESC顺序按日期对事件进行排序?
我想在OneDrive REST API上使用checkout/checkin功能:https: //docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_checkout
我面临两个问题:
第一个问题 - 文件信息API返回publication
属性published
,即使手动检出文件也是如此
请求:
https://graph.microsoft.com/v1.0/sites/SITE_ID/drive/items/FILE_ID?select=name,id,publication
响应:
{
"id": "01KJOOXJHF77OPSR7HWVCKSTHBQJQZEBJI",
"name": "diamond.mmap",
"publication": {
"level": "published",
"versionId": "2.0"
}
}
Run Code Online (Sandbox Code Playgroud)
第二期 - 结账/签到端点的奇怪响应:
我正在使用此处定义的端点 https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_checkout
例如
https://graph.microsoft.com/v1.0/sites/SITE_ID/drive/items/FILE_ID/checkout
回复:
{
"error": {
"code": "BadRequest",
"message": "Unsupported segment type. ODataQuery: sites/fe688d8ed4a2/drive/items/01KJOQZEBJI/checkout",
"innerError": {
"request-id": "a7d18555-3e74-4aea-ad92-539481f6c33b",
"date": "2018-02-21T09:17:00"
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有想过我错过了什么?
我正在使用Microsoft Graph API v1.0与Azure AD集成.我正在使用delta查询获取组,并members
在$select
查询参数中指定属性以及其他一些属性,因为我们的集成不使用大多数Azure AD组属性.
这曾经起作用,但是当前在执行相同查询时,不会从端点返回成员.如果我没有指定,$select
则返回成员以及许多其他组属性.
在挖掘端点时,我注意到我可以使用$ expand查询参数获取成员.这是要求成员包含在delta查询结果中的正确方法吗?
作为参考,这是不再有效的查询如下所示:
https://graph.microsoft.com/v1.0/groups/delta?$select=displayName,id,members
Run Code Online (Sandbox Code Playgroud) 使用房间和设备时,Exchange(在Office 365中,但在其他版本中)使用许多选项来处理事件中对这些资源的请求.
默认情况下,Exchange将在房间日历中创建事件时剥离主题,并将其替换为管理器名称.如果您然后尝试获取房间的日历(例如,对于会议室显示),您将只有组织者名称而不是每次会议的主题.
这在某些情况下可能是适当的,但在许多其他情况下,人们希望实际主题在该日历中显示.
为了实现这一目标,我所知道的唯一的选择是使用PowerShell的Set-CalendarProcessing
cmdlet来改变DeleteSubject
,AddOrganizerToSubject
等等.
在SaaS环境中,这非常烦人,因为您需要Office 365管理员使用Powershell执行此操作,这可能不是完全简单的,或者您需要请求用户的登录名和密码并将其传递给Powershell,这会提高安全性问题,并且在许多情况下都不会起作用(2FA,SAML身份验证...).
有没有办法通过Microsoft Graph访问这些设置?
或者,如果无法通过Microsoft Graph获得,是否有办法使用Microsoft Graph oAuth令牌通过Linux Powershell执行此操作?我知道可以使用oAuth令牌,但尽管我付出了很多努力,但我还没有设法找到一种方法来执行常规的托管oAuth登录并使用为此目的而收到的令牌.
任何提示都欢迎!
澄清一下:我在SaaS场景中,我是SaaS提供商,所以我需要允许我的客户管理员轻松或自动更改这些设置,不要访问我自己的房间邮箱(我会使用PowerShell) .
我正在尝试通过Microsoft Graph获取电子邮件别名:
https://graph.microsoft.com/v1.0/me?$select=proxyAddresses
Run Code Online (Sandbox Code Playgroud)
这适用于我的Office 365帐户(商业帐户),但我无法获得个人帐户(outlook.com,hotmail.com)的别名.我也找不到任何关于此的综合文档.
我正在尝试通过Graph Explorer,https://developer.microsoft.com/en-us/graph/graph-explorer(或REST API调用)更新与列表项关联的字段。对于一个字段,其值可以是术语集中的一项(托管元数据)。访问https://XXX.sharepoint.com/Lists/TaxonomyHiddenList/AllItems.aspx时,我可以看到术语集中的每个元素并获得每个termguid 。
我正在尝试使用https://graph.microsoft.com/beta/sites/XXX.sharepoint.com、FOO、BAR/drive/root/children/Test%20Document.txt之类的URL进行PATCH请求/ listItem / fields(或https://graph.microsoft.com/v1.0/sites/XXX.sharepoint.com,FOO,BAR/drive/list/items/1/fields)来标识与特定内容相关联的字段项目
要更新CakeType字段,我将请求正文设置为以下内容:
{
"CakeType": {
"Label": "Apple",
"TermGuid": "3a3ad73f-94ca-4d1e-a25c-XXXX",
"WssId": -1
}
}
Run Code Online (Sandbox Code Playgroud)
然后,当我按下“运行查询”按钮时,我收到一个InvalidClientQueryException消息,消息为“找到了没有类型名称的值,并且没有可用的预期类型。指定模型时,有效负载中的每个值都必须具有可以可以在有效负载中指定,也可以由调用者显式指定,也可以从父值中隐式推断出来。”
因此,我一直在尝试找出要指定的数据类型以及如何指定...在各种在线示例中,我看到添加了一个名为__metadata的字段,其他添加了@ odata.type,如CakeType@odata.type。案例在这里。我尝试为整个结构将这些行添加到CakeType JSON内和外部。都没用...
{
"CakeType": {
"__metadata" : {"type" : "SP.Taxonomy.TaxonomyFieldValue" },
"Label": "Apple",
"TermGuid": "3a3ad73f-94ca-4d1e-a25c-XXXX",
"WssId": -1
}
}
Run Code Online (Sandbox Code Playgroud)
要么
{
"__metadata" : {"type" : "SP.Taxonomy.TaxonomyFieldValue" },
"CakeType": {
"Label": "Apple",
"TermGuid": "3a3ad73f-94ca-4d1e-a25c-XXXX",
"WssId": -1
}
}
Run Code Online (Sandbox Code Playgroud)
我还尝试过以我认为在某处看到的类型使用字段名称...
"__metadata" : {"type" : "SP.Data.CakeType" },
Run Code Online (Sandbox Code Playgroud)
并尝试
"CakeType@odata.type" : "SP.Taxonomy.TaxonomyFieldValue" …
Run Code Online (Sandbox Code Playgroud) microsoft-graph ×10
office365 ×4
office365api ×3
onedrive ×1
powershell ×1
rest ×1
sharepoint ×1