小编Mar*_*eur的帖子

Outlook加载项Office-Js身份验证

我正在构建一个基于React的Outlook加载项.我使用YeomanGenerator设置我的项目.我正在尝试使用Office-Js-Helpers设置身份验证.我能够创建验证器,注册microsoftAuth端点.我的添加打开对话框,我能够登录等,并在对话框的URL中返回访问令牌,但对话框永远不会关闭,并且我尝试进行身份验证后获取我的令牌是success/ thenfunction从未打过.如果我手动关闭对话窗口,catch则触发.

我不知道我是否正确设置我的项目.这是main.tsx我打开加载项时第一个加载的页面中的代码.这是代码(有一些虚拟数据 - 例如我的clientId是一个实际的,我刚刚阻止了它).我已经在我的应用程序帐户中设置了redirectUrl https://localhost:3000/signin-microsoft.请告诉我您可能需要的其他信息 - 我100%坚持到这里.

import * as React from 'react'
import { render } from 'react-dom'
import { App } from './components/app'
import { Progress } from './components/progress'
import './assets/styles/global.scss'
import { Authenticator, Utilities, DefaultEndpoints } from '@microsoft/office-js-helpers'

(() => {
    const title = 'My App';
    const container = document.querySelector('#container');
    const clientId = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'

    /* Render application after Office initializes */
    Office.initialize = () …
Run Code Online (Sandbox Code Playgroud)

typescript outlook-restapi office-js

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

加载项错误:出现问题,我们无法启动此加载项。

我正在使用 Create React App 为 Excel 构建加载项。该加载项在 Excel for macOS 中运行良好。

The Repo

但是,当我尝试在 Excel Online 中加载它时。上传清单文件并打开加载项后,它显示

加载项错误:出现问题,我们无法启动此加载项。请稍后再试或联系您的系统管理员。

在此处输入图片说明

控制台显示

解析“沙箱”属性时出错:“ms-allow-popups”是无效的沙箱标志。

我已经在开发中使用 HTTPS 了HTTPS=true npm start

还有什么可能导致这种情况?谢谢

reactjs office-js

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

使用 Microsoft Graph 对守护程序使用委派权限

我正在尝试通过 OAUTH2 身份验证使用 Microsoft Graph API,但是我正在努力弄清楚如何使用委派权限而不要求用户登录。

我很高兴自己对应用程序进行一次身份验证,但这将在守护进程/服务上运行,并且不会通过用户进行交互。因此,我无法使用 Microsoft 描述的委托权限的方式,因为/authorize首先使用,然后才能调用/token.

我知道您可以使用密钥,/token但似乎只能使用应用程序权限而不是委派 - 这是我有权访问的权限。

有没有一种方法可以像我是用户一样使用委派权限进行身份验证,但用户不必每次都使用登录页面?

oauth-2.0 microsoft-graph-api

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

将事件从 SeriesMaster 转换为 SingleInstance

我正在通过 Microsoft Graph 与 Office 365 进行日历集成。

目前我很难将事件从更改SeriesMasterSingleInstance

创建事件时,我发送了一个recurrence结果,它创建了一个SeriesMaster以及Occurrence预期的相应事件!

当用户请求将事件更改为单个会议时,我会更新该事件并将其设置typeSingleInstance按照 API 的建议:

尽管返回了HTTP 200,但 Office 365 忽略了我更改会议的请求type,但确实应用了有效负载中包含的其余更改(重复除外)。就好像我只是对系列大师进行更新一样。

这是我的有效负载的屏幕截图(在将其转换为 JSON 之前):

我的有效负载的打印

我尝试过设置和Type的值,但没有什么区别。SingleInstance0

有人对如何解决有任何建议或想法吗?

我想避免删除系列大师重新创建单实例事件。

microsoft-graph-api

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

获取特定 Azure 目录的用户 Graph Explorer

我在 Azure 的一次登录中有两个目录。

当我点击 Graph Explorer API 来获取用户时,它会自动转到默认 AD。

https://graph.microsoft.com/v1.0/users
Run Code Online (Sandbox Code Playgroud)

我想切换目录然后获取用户。

我刚刚找到了这个文档,其中需要注册应用程序并且您在租户中提供目录名称。

请帮忙。

azure-active-directory microsoft-graph-api

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

在两个 ASP.NET Core 应用程序之间共享 Cookie

我在两个单独的 ASP.NET Core 项目中使用WsFederation 。

每个项目都有以下内容Startup.cs

services.AddAuthentication(sharedOptions =>
{
    sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    sharedOptions.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    sharedOptions.DefaultChallengeScheme = WsFederationDefaults.AuthenticationScheme;
})
.AddWsFederation(options =>
{
    options.Wtrealm = Configuration["Wtrealm"];
    options.MetadataAddress = "http://example.com/metadata.xml";
    options.SkipUnrecognizedRequests = true;
    options.RequireHttpsMetadata = false;
    options.UseTokenLifetime = false;
})
.AddCookie(options =>
{
    options.Cookie.Name = "MySharedCookie";
    options.Cookie.Path = "/";
    options.Cookie.Domain = ".dev.example.com";
});
Run Code Online (Sandbox Code Playgroud)

我在浏览器中加载项目 #1,并得到我的 cookie:

在此输入图像描述

然后,我导航到同一子域上的项目#2。但是,项目 #2 无法识别MySharedCookie并重新进行身份验证。我得到一个具有相同名称但不同值的新 cookie:

在此输入图像描述

我想做的事情在 ASP.NET Core 中可行吗?在 ASP.NET Core 中有没有办法可以与项目 #2 共享项目 #1 的 cookie?

c# asp.net-core-mvc asp.net-core asp.net-core-2.0

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

Dialog API 的 messageParent 不使用 OWA

我正在将 Office Javascript API 用于我的 Outlook 加载项。我正在运行 Outlook-web-16.01 ( https://outlook.live.com/owa/)。

我可以通过调用UI.displayDialogAsync. 但是调用UI.messageParent不会导致在DialogMessageReceived父页面上被触发。我在同一个域上同时运行父级和对话框。

然而,手动关闭对话框会DialogEventReceived在父级上触发并带有12006.

我还注意到对话框在加载后立即在 JS 控制台上出现此错误,但不确定它是否相关:

无法执行'postMessage''DOMWindow':提供的目标来源('https://outlook.live.com')不匹配收件人窗口的原点('MyOrigin')。

我正在使用GitHub 中OfficeDev 示例

我在从这里复制的父页面上启动对话框的代码,

function dialogCallback(asyncResult) {
  if (asyncResult.status == "failed") {

      // In addition to general system errors, there are 3 specific errors for 
      // displayDialogAsync that you can handle individually.
      switch (asyncResult.error.code) {
          case 12004:
              console.log("Domain …
Run Code Online (Sandbox Code Playgroud)

office-js outlook-web-addins

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

Office JS insertHTML和段落格式的主机行为不一致

我注意到Word 2016,Word for Mac和Word Online之间的office-js不一致。

当插入<p>具有块/段落格式的单个元素时,Word 2016似乎没有应用元素style属性中定义的段落格式<p>。我可以在文档正文和内容控件中均重现此内容。

当我在Word 2016或Word for Mac上的空文档中执行此代码段时:

await Word.run(async (context) => {

    context.document.body.insertHtml(
        "<p style='text-align:right'>This should be right aligned!</p>",
        "replace");

    await context.sync();
});
Run Code Online (Sandbox Code Playgroud)

该段被插入,但保持左对齐。

当我在Word Online上执行相同的代码段时,该段落将按预期方式右对齐。

ScriptLab要点

一个丑陋的解决方法是<br/>在该<p>块之后添加一个元素:

"<p style='text-align:right'>This should be right aligned!</p><br/>",
Run Code Online (Sandbox Code Playgroud)

这迫使Word 2016应用<p>块的格式,但是我们不能在所有情况下都应用此格式,因为它有时会破坏页面的其余部分。这也不是我们期望要做的。

有没有其他方法可以插入HTML,该HTML包含可在所有主机上使用的单个段落格式的 <p>块?

javascript ms-word office-js

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

Microsoft Graph API-503服务不可用

我正在努力将Microsoft Graph与Rails Web应用程序集成。我们正尝试通过Graph发送多封电子邮件,但有时我们会收到503 Service Unavailable带有以下标头和正文的:

响应头:

{
  "content-type": [
    "text/html; charset=us-ascii"
  ],
  "server": [
    "Microsoft-HTTPAPI/2.0"
  ],
  "date": [
    "Wed, 30 May 2018 22:05:31 GMT"
  ],
  "connection": [
    "close"
  ],
  "content-length": [
    326
  ]
}
Run Code Online (Sandbox Code Playgroud)

响应主体:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
    <TITLE>Service Unavailable</TITLE>
    <META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">
</HEAD>
<BODY>
    <h2>Service Unavailable</h2>
    <hr>
    <p>HTTP Error 503. The service is unavailable.</p>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

我们使用该POST https://graph.microsoft.com/v1.0/me/sendMail呼叫发送数百封Outlook电子邮件。使用Graph API发送大约100-200封电子邮件后,我们收到了503 Service Unavailable错误消息。当我们必须发送1000多个自定义电子邮件时,这是有问题的,因为我不清楚我们如何在不知道重试和其他Graph API请求之前要等待多长时间的情况下,如何正确处理错误 …

outlook-restapi microsoft-graph

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

如果事件是系列的一部分,则对 iCalUId 进行过滤将返回空数组

我的问题与这个问题几乎相同。我本来想在那里发表评论,但由于是新用户而无法这样做。

如果我正在查询事件,我请求https://graph.microsoft.com/v1.0/me/events?$filter=iCalUId eq '<iCalUId>'返回事件对象singleInstance(这是预期的)。但是,如果该事件是一系列事件的一部分,我会返回一个空数组。

我不确定我是否遗漏了某些东西或者这是否是预期的行为。我已经搜索了 MS Graph 文档(包括此处此处),但未能找到此行为的原因。

任何对此的帮助将不胜感激。

谢谢!

outlook-restapi microsoft-graph-api

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