首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Outlook JS外接程序+ Outlook REST

Outlook JS外接程序+ Outlook REST
EN

Stack Overflow用户
提问于 2017-01-03 14:48:16
回答 4查看 1.3K关注 0票数 0

我希望我的Outlook 365集成同时使用Outlook外接程序接口和Outlook。

但在我看来,它有单独的权限/证书处理:

  • Outlook外接程序接口具有以下权限:受限、ReadItem、ReadWriteItem或ReadWriteMailbox
  • Outlook完全支持带有作用域的OAuth2,例如我最感兴趣的offline_access范围。

我不想使用Outlook外接程序为用户提供额外的UI元素,并使用Outlook使我的数据与Outlook数据保持同步。

是否可以不强迫使用者两次同意?这首先是通过在安装时同意外接程序,然后同意我们的应用程序使用Outlook进行同步作业。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-01-03 16:21:23

据我所知,现在不可能不要求最终用户完成第二个基于OAUTH的身份验证流程。

请注意,如果您需要访问Office.js未提供的数据,则可以使用EWS (Exchange,它不是REST),而不必使用辅助身份验证流。

看看getUserIdentityTokenAsyncmakeEwsRequestAsync 这里

票数 1
EN

Stack Overflow用户

发布于 2017-04-23 21:29:52

您不需要第二个八月流,您可以使用Office.context.mailbox.getCallbackTokenAsync({ isRest: true },函数(结果).要获得访问令牌,可以使用JQuery/Ajax来使用Calendar REST API。

票数 0
EN

Stack Overflow用户

发布于 2017-11-11 06:45:10

您可以使用Office.js,也可以从它获得令牌,令牌用于执行ajax调用。我在这里举个例子

代码语言:javascript
复制
var _mailbox = Office.context.mailbox;
_mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
    if (result.status === Office.AsyncResultStatus.Succeeded) {
       var  accessToken = result.value;

         var userDetail;
     var url = Office.context.mailbox.restUrl+ "/v2.0/me";
   try {
    $.ajax({
        type: 'GET',
        url: url,
        contentType: "application/json",
        headers: { 'Authorization': 'Bearer ' + accessToken },
        async: false,
        success: function (data) {
            userDetail = data;
        },
        error: function (textStatus, errorThrown) {

            userDetail = null;//doesnt goes here
        }

    });
}
catch (error)
{
    userDetail = null;
    writeLog(error);
}
  }
  }

上面的代码给出了当前用户的详细信息,包括名字、电子邮件地址等等,您可以执行其他几个操作,如创建文件夹、移动电子邮件、删除电子邮件等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41446131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档