标签: microsoft-graph

创建组日历事件失败

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)

我尝试了不同的组类型,包括安全性,已启用邮件和统一组,但我看到相同的错误消息,任何帮助将不胜感激.

office365 office365api microsoft-graph

7
推荐指数
1
解决办法
680
查看次数

如何从graph.microsoft.com获取Azure租户名称?

我需要发现用户的租户名称,因为服务端点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].这是我的问题.

azure-active-directory azure-ad-graph-api microsoft-graph

7
推荐指数
2
解决办法
3013
查看次数

文件附件在Microsoft Graph API中显示为消息实体

最近我们注意到Microsoft Graph API已经将文件附件作为从/ me/messages端点返回的消息实体返回.

重现的场景如下:

  • 向您自己发送一封包含一个或多个文件附件的电子邮件(或让其他人向您发送电子邮件)
  • 在Graph Explorer中运行以下查询:https://graph.microsoft.com/v1.0/me/messages
  • 请注意,将有一个对象代表电子邮件本身(这是正确的行为)和一个或多个对象,它们是文件附件的表示.

还值得注意的是,这些附件"消息"与原始电子邮件具有相同的主题,正文内容设置为附件的文件内容(如果附件是文档),没有发件人或收件人,他们有isRead状态为true,isDraft状态为true.完全废话!

附件作为消息

我只能假设这是Graph API中的一个错误 - 我无法看到为什么会出现这种情况.值得注意的是,我已经使用Graph API大约9个月了,这种行为最近才开始发生.

微软的某个人可以尽快与我联系吗?这是API中的一个主要错误,无疑会破坏大多数使用它的应用程序.这也是一个非常值得关注的问题,我们正在改变一个据称稳定的v1.0.为什么不在下一个版本中使用v1.1或v2.0?

office365 office365api microsoft-graph

7
推荐指数
1
解决办法
468
查看次数

Office 365图表 - 从最近的文件查询中删除"名称"属性

今天早上我们注意到"name"属性已从Office 365 Graph API上的最新文件查询中删除,这导致我们的应用程序出现问题.

https://graph.microsoft.com/v1.0/me/drive/recent?$ top = 6

文档或更改日志中没有公布此更改,因此我认为这是一个意外的更改/错误.文件名可以说是文件中最重要的属性,因此如果没有该信息,这个查询将变得非常有用.

有没有来自Graph API团队的人请指教?提前致谢.

office365 office365api microsoft-graph

7
推荐指数
1
解决办法
76
查看次数

按开始日期对事件排序

我需要能够使用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顺序按日期对事件进行排序?

outlook-restapi microsoft-graph

7
推荐指数
1
解决办法
1420
查看次数

Checkin/chekout文件时Sharepoint`不支持的段类型`

我想在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)

有没有想过我错过了什么?

rest sharepoint onedrive microsoft-graph

7
推荐指数
1
解决办法
406
查看次数

在$ select中指定时,组delta查询不返回成员

我正在使用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)

azure-active-directory microsoft-graph

7
推荐指数
1
解决办法
342
查看次数

Office 365会议室邮箱通过Microsoft Graph进行CalendarProcessing访问

使用房间和设备时,Exchange(在Office 365中,但在其他版本中)使用许多选项来处理事件中对这些资源的请求.

默认情况下,Exchange将在房间日历中创建事件时剥离主题,并将其替换为管理器名称.如果您然后尝试获取房间的日历(例如,对于会议室显示),您将只有组织者名称而不是每次会议的主题.

这在某些情况下可能是适当的,但在许多其他情况下,人们希望实际主题在该日历中显示.

为了实现这一目标,我所知道的唯一的选择是使用PowerShell的Set-CalendarProcessingcmdlet来改变DeleteSubject,AddOrganizerToSubject等等.

在SaaS环境中,这非常烦人,因为您需要Office 365管理员使用Powershell执行此操作,这可能不是完全简单的,或者您需要请求用户的登录名和密码并将其传递给Powershell,这会提高安全性问题,并且在许多情况下都不会起作用(2FA,SAML身份验证...).

有没有办法通过Microsoft Graph访问这些设置?

或者,如果无法通过Microsoft Graph获得,是否有办法使用Microsoft Graph oAuth令牌通过Linux Powershell执行此操作?我知道可以使用oAuth令牌,但尽管我付出了很多努力,但我还没有设法找到一种方法来执行常规的托管oAuth登录并使用为此目的而收到的令牌.

任何提示都欢迎!

编辑

澄清一下:我在SaaS场景中,我是SaaS提供商,所以我需要允许我的客户管理员轻松或自动更改这些设置,不要访问我自己的房间邮箱(我会使用PowerShell) .

powershell exchange-server office365 microsoft-graph

7
推荐指数
1
解决办法
461
查看次数

获取Microsoft Graph API中的个人帐户的邮箱别名不起作用

我正在尝试通过Microsoft Graph获取电子邮件别名:

https://graph.microsoft.com/v1.0/me?$select=proxyAddresses
Run Code Online (Sandbox Code Playgroud)

这适用于我的Office 365帐户(商业帐户),但我无法获得个人帐户(outlook.com,hotmail.com)的别名.我也找不到任何关于此的综合文档.

outlook-restapi microsoft-graph

7
推荐指数
1
解决办法
162
查看次数

无法从Microsoft Graph Explorer更新Sharepoint托管的元数据字段

我正在尝试通过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

7
推荐指数
1
解决办法
358
查看次数