我正在构建一个基于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) 我正在使用 Create React App 为 Excel 构建加载项。该加载项在 Excel for macOS 中运行良好。
但是,当我尝试在 Excel Online 中加载它时。上传清单文件并打开加载项后,它显示
加载项错误:出现问题,我们无法启动此加载项。请稍后再试或联系您的系统管理员。
控制台显示
解析“沙箱”属性时出错:“ms-allow-popups”是无效的沙箱标志。
我已经在开发中使用 HTTPS 了HTTPS=true npm start。
还有什么可能导致这种情况?谢谢
我正在尝试通过 OAUTH2 身份验证使用 Microsoft Graph API,但是我正在努力弄清楚如何使用委派权限而不要求用户登录。
我很高兴自己对应用程序进行一次身份验证,但这将在守护进程/服务上运行,并且不会通过用户进行交互。因此,我无法使用 Microsoft 描述的委托权限的方式,因为/authorize首先使用,然后才能调用/token.
我知道您可以使用密钥,/token但似乎只能使用应用程序权限而不是委派 - 这是我有权访问的权限。
有没有一种方法可以像我是用户一样使用委派权限进行身份验证,但用户不必每次都使用登录页面?
我正在通过 Microsoft Graph 与 Office 365 进行日历集成。
目前我很难将事件从更改SeriesMaster为SingleInstance。
创建事件时,我发送了一个recurrence结果,它创建了一个SeriesMaster以及Occurrence预期的相应事件!
当用户请求将事件更改为单个会议时,我会更新该事件并将其设置type为SingleInstance按照 API 的建议:
尽管返回了HTTP 200,但 Office 365 忽略了我更改会议的请求type,但确实应用了有效负载中包含的其余更改(重复除外)。就好像我只是对系列大师进行更新一样。
这是我的有效负载的屏幕截图(在将其转换为 JSON 之前):

我尝试过设置和Type的值,但没有什么区别。SingleInstance0
有人对如何解决有任何建议或想法吗?
我想避免删除系列大师重新创建单实例事件。
我在 Azure 的一次登录中有两个目录。
当我点击 Graph Explorer API 来获取用户时,它会自动转到默认 AD。
https://graph.microsoft.com/v1.0/users
Run Code Online (Sandbox Code Playgroud)
我想切换目录然后获取用户。
我刚刚找到了这个文档,其中需要注册应用程序并且您在租户中提供目录名称。
请帮忙。
我在两个单独的 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?
我正在将 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) 我注意到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上执行相同的代码段时,该段落将按预期方式右对齐。
一个丑陋的解决方法是<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>块?
我正在努力将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请求之前要等待多长时间的情况下,如何正确处理错误 …
office-js ×4
asp.net-core ×1
c# ×1
javascript ×1
ms-word ×1
oauth-2.0 ×1
reactjs ×1
typescript ×1