使用Microsoft的卖家仪表板,我创建并发布了一个Outlook(office365)加载项。我也创建了ClientId并用它来处理api。 在大约一年的时间里,everithing很好,但几周前,当我试图获得Access Token时,我遇到了错误。错误说我的密钥无效。所以我去了卖家仪表板,删除了密钥并创建了新密钥。不知何故,这个程序也改变了我的ClientId。无论如何,我已经尝试使用新的ClientId \ SecretKey,但现在我收到了另一个错误,它表示没有与指定ClientId关联的应用程序。所以问题是:将ClientId与加载项关联的设置在哪里?
提前谢谢
答案 0 :(得分:0)
回答你的问题
将ClientId与加载项关联的设置在哪里?
通常,如果使用纯Azure AD(它似乎是场景背后的技术堆栈),则 clientID 与 addin 之间没有关联。 clientID 与域相关联,这应该是应用网站所在的域。
编辑但是对于Microsoft Seller Dashboard,看起来有一个MARKETPLACE APP字段,但我不知道如何设置它,请参阅。
然后,为了解决您的问题,如果您查看屏幕截图,您可以看到有一种方法可以在给定的 clientID 上续订客户端密钥。也许您仍然可以使用旧的 clientID 并删除新的 clientID 。您似乎无法访问 azure广告应用清单(请勿与您的应用清单混淆),以查看出现了什么问题。我认为您应该向Microsoft Seller Dashboard报告。
如果之前的解决方案不起作用,我相信您最好的选择是使用Azure AD并将您的应用程序作为多租户应用程序输入。
您可能知道这一点,但请记住,办公室插件(新一代,以前称为办公室应用程序)只是一个名为 manifest 的小型xml文件,而且是真正的" #34;应用程序是一个"网站"为您的应用程序(html,js,css文件)提供服务。在清单中,您会找到有关该应用的一些信息:iframe的大小,支持的语言......以及更重要的应用网址。与Web API身份验证相关的所有内容都由网站应用程序处理。 清单不知道这一点。
您可能正在使用本地网站(或多个网站)进行测试,然后在Microsoft卖家信息中心注册的域和回调网址不会匹配您的测试环境。还要检查您正在使用的Office 365帐户是否使用了正确的清单(使用新客户端ID指向您的测试网站)。
最后,有两个地方可以在Office 365中注册 manifest 。在安装新的之前清理所有内容,进行测试。
1)在管理员级别(办公室365全局管理员为整个组织安装了一个应用程序) 管理员> (左框架)管理/交换>组织>插件
2)在用户级别(用户为自己安装了一个应用程序) 邮件(outlook.office365.com)> (右上方的齿轮)>管理加载项