小编Jas*_*ton的帖子

Office 365 REST API列表资源(会议室)

我有一个关于Office365 REST API的问题.有没有办法获得资源列表 - 会议室日历.

如果我知道会议室用户名,我只能在会议室举行会议.

https://outlook.office365.com/api/v1.0/users/room1@xxxx.onmicrosoft.com/calendars

我可以列出所有会议室并获取他们的日历吗?

api office365 outlook-restapi

9
推荐指数
1
解决办法
5217
查看次数

Office365 API - 管理员访问其他用户/房间的日历活动

通过点击此请求:https://outlook.office365.com/api/v1.0/users/room@email.com/events 在浏览器中我可以输入我的管理员用户名和密码,并获取该特定房间的日历活动.但是,当我尝试从具有admin身份验证的本机应用程序进行此调用时,我收到此响应: reason ="该调用应该访问oauth令牌中指定的邮箱."; error_category ="invalid_grant" 如何获取日历事件特定的房间验证为管理员?

office365 outlook-restapi

6
推荐指数
1
解决办法
9299
查看次数

通过 Office 365 REST API 获取“已取消”的事件

我在想办法在 Office 365 上获取“已取消”的事件时遇到了麻烦。这似乎是一件非常基本的事情,但是我试图找出如何做到这一点的尝试都没有奏效。

阅读 Office 365 API 文档,我可以看到Event资源具有IsCancelled布尔属性,该属性应显示true事件是否已取消/删除。

我已经尝试了多种通过 API 获取事件的方法,但都没有成功。似乎一旦一个事件被取消,它就会从返回的结果中删除。

我还看到我可以使用OData 查询参数来尝试过滤事件获取响应的结果,所以我什至尝试$filter=IsCancelled eq true在请求上设置查询参数,但我得到的只是一个带有空数据数组的响应。:/

有什么明显的我遗漏了吗?这里的文档很简单。

outlook calendar exchangewebservices office365 outlook-restapi

5
推荐指数
1
解决办法
1666
查看次数

在Outlook加载项中何时使用EWS与Rest API的持久传奇

这个问题基于我之前提出一个问题,但后来有了更多细节和经验.

首先是一些背景,我有一个Outlook Addin应该转发用户消息,然后将消息移动到特定文件夹.这需要在OWA和Outlook 2016环境中适用于Prem Exchange.它既适用于以前的客户端,也适用于O365用户的Outlook Mobile App.

我的具体问题归结为检测何时使用EWS与Rest API(甚至是MS Graph API).

这是我的代码片段:

Office.initialize = function() {
    $(document).ready(function() {
        $('#forward').click(forwardMessage);
    });
}; 

function forwardMessage() {
    if(Office.context.mailbox.restUrl) { // The problem child
        forwardEWS(); // Works like a charm
    } else {
        forwardRest(); // Works fine for O365 users
    }
}

function forwardRest() {
    var restHost = Office.context.mailbox.restUrl;
    var restId = getItemRestId();

    Office.context.mailbox.getCallbackTokenAsync({isRest: true}, function(result){
        if (result.status === "succeeded") {
            var accessToken = result.value;

            $.ajax({
                url: restHost + '/v2.0/me/messages/' …
Run Code Online (Sandbox Code Playgroud)

outlook exchangewebservices outlook-restapi office-js outlook-web-addins

4
推荐指数
1
解决办法
582
查看次数

无法使用 NodeJS/node-outlook 访问 Office 365

我正在尝试创建一个 NodeJS 守护进程/服务应用程序,用于使用 node-outlook 库访问 Office 365 邮件/联系人。我能够创建 Office 365 试用订阅并注册我的应用程序。现在我的应用程序有了访问端点 URL、客户端 ID 和客户端密钥。这是我的代码:

var outlook = require("node-outlook");
var token;
process.env.DEBUG = true;
var fs = require('fs');
var credentials = {
    clientID: "<id>",
    clientSecret: "<secret>",
    site: "https://login.microsoftonline.com/<my-tenant-id>",
    authorizationPath: "/oauth2/authorize",
    tokenPath: "/oauth2/token",
    useBasicAuthorizationHeader: false,
    rejectUnauthorized: false,
    ca: fs.readFileSync('pki/some.pem', { encoding: 'ascii' }),
};

var oauth2 = require('simple-oauth2')(credentials);
oauth2.client.getToken({}, saveToken);

function saveToken(error, result) {
    if (error) {
        console.log('Access Token Error: ', error);
        return;
    }
    token = oauth2.accessToken.create(result);
    var outlookClient = new outlook.Microsoft.OutlookServices.Client( …
Run Code Online (Sandbox Code Playgroud)

node.js office365 azure-active-directory outlook-restapi

3
推荐指数
1
解决办法
3291
查看次数

通过Office 365 REST API标记的邮件?

我正在寻找一种方法来使用Office 365 REST Message API检测和设置电子邮件的"已标记"状态.我没有看到'Flag'被列为REST消息的属性,但我确实看到它列在Exchange Web服务下.

我试图做一个REST调用,将Flag添加到过滤的属性,以及SingleValueExtendedProperties和MultiValueExtendedProperties,如:

/folders/inbox/messages?$top=50&$select=Subject,...,Flag
/folders/inbox/messages?$top=50&$select=Subject,...,SingleValueExtendedProperties
/folders/inbox/messages?$top=50&$select=Subject,...,MultiValueExtendedProperties
Run Code Online (Sandbox Code Playgroud)

所有这些都以某种形式回归:

{"error":{"code":"RequestBroker-ParseUri","message":"Could not find a property named \\\'Flag\\\' on type \\\'Microsoft.OutlookServices.Message\\\'."}}
Run Code Online (Sandbox Code Playgroud)

有关如何通过REST API访问Outlook"Flag"属性的任何建议?

rest outlook office365 outlook-restapi

2
推荐指数
1
解决办法
1889
查看次数

检索访问令牌时出现“一个或多个范围彼此不兼容”错误

我有一个通过 Azure AD REST API v.2 与 Outlook、日历集成的应用程序。我尝试使用增量和动态范围来“升级”用户的令牌,以便应用程序也可以访问 OneDrive(这样用户就可以直接在云中上传电子邮件附件)。授权代码检索重定向进展顺利,用户在登录后会被要求提供附加范围(files.readwrite)。但是,在步骤 2 中,当我尝试获取访问令牌时,出现以下错误:

System.Exception: Acquire token by authorization code returned BadRequest: 

{
  "error": "invalid_scope",
  "error_description": "AADSTS70011: The provided value for the input parameter 'scope' is not valid. One or more scopes in 'https://outlook.office.com/mail.readwrite https://outlook.office.com/mail.send https://outlook.office.com/contacts.readwrite https://outlook.office.com/calendars.readwrite https://outlook.office.com/people.read files.readwrite' are not compatible with each other.\\r\\nTrace ID: b02fa0bf-6e86-4156-81e8-294dbc851500\\r\\nCorrelation ID: 3697bd18-554c-47e6-81cc-de3c47780fc9\\r\\nTimestamp: 2018-02-01 15:26:10Z",
  "error_codes": [
    70011
  ],
  "timestamp": "2018-02-01 15:26:10Z",
  "trace_id": "b02fa0bf-6e86-4156-81e8-294dbc851500",
  "correlation_id": "3697bd18-554c-47e6-81cc-de3c47780fc9"
}
Run Code Online (Sandbox Code Playgroud)

或者这个错误:

System.Exception: Acquire token by authorization code returned BadRequest: 
{ …
Run Code Online (Sandbox Code Playgroud)

azure-active-directory outlook-restapi microsoft-graph-api

2
推荐指数
1
解决办法
2131
查看次数

上载Outlook加载项清单时出现“清单文件不符合架构定义”

为实现外接程序命令的Outlook外接程序上载清单文件时,出现以下错误:

出了些问题

无法安装此应用。清单文件不符合架构定义。元素“CustomTab”命名空间“ http://schemas.microsoft.com/office/mailappversionoverrides具有无效的子元素命名空间“标签”“ http://schemas.microsoft.com/office/mailappversionoverrides ”。预期的可能元素列表:'名称空间中的组' http://schemas.microsoft.com/office/mailappversionoverrides '...

但是,该Label元素是该元素的有效子代CustomTab。我该如何解决?

office365 outlook-web-addins

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

如何在office 365 REST API中发送邮件?

我找到了有关如何使用Office 365 rest API发送电子邮件的以下文档.

这是关于doucmentation的例子:

POST https://outlook.office.com/api/v2.0/me/sendmail

{
  "Message": {
    "Subject": "Meet for lunch?",
    "Body": {
      "ContentType": "Text",
      "Content": "The new cafeteria is open."
    },
    "ToRecipients": [
      {
        "EmailAddress": {
          "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
      }
    ],
    "Attachments": [
      {
        "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
        "Name": "menu.txt",
        "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
      }
    ]
  },
  "SaveToSentItems": "false"
}
Run Code Online (Sandbox Code Playgroud)

如果用户授权应用程序代表它执行操作,则此方法正常.但是,我使用客户端信任来构建一个守护程序应用程序,代表给定租户中的所有用户,因此"POST https://outlook.office.com/api/v2.0/me/sendmail "无法正常工作因为它引用了"我",无法分辨哪个用户正在发送电子邮件.

如果你可以提供示例示例,我会谨慎行事.仅供参考:我使用的是Java,但您的答案不一定是Java.

exchange-server azure-active-directory adal outlook-restapi office365api

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