我有一个Outlook加载项已经在办公室商店里呆了几个月了。
当前,我们将一些重要的详细信息保存到漫游设置中,以保存用户再次输入相同的信息。
就目前而言,我们保存一个布尔值,一个包含URL的字符串和一个包含Guid的字符串,该Guid是用户在通过外接程序查询外部API时要使用的访问令牌。
所有要存储到漫游设置中的呼叫都是通过以下方法完成的:
public setItemIntoRoamingSettings<T>(name: string, item: T) {
Office.context.roamingSettings.set(name, item);
Office.context.roamingSettings.saveAsync(function(asyncResult) {
console.log(asyncResult);
});
最近我们有一些客户报告说该加载项的桌面版本不再起作用。
经过一些调查,我发现不再保存Access令牌的原因。奇怪的是,URL和布尔值保存得很好。而且,当用户使用Outlook的Webmail版本时,一切都可以保存;仅在桌面版Outlook中会发生此问题。
我已经检查了呼叫失败时我们返回的日志记录,并且得到的是以下错误:
{
error:
{
code: 9019,
message: "Permission Denied",
name: "GenericSettingsError"
},
status: "failed"
}
清单中加载项的当前权限级别为ReadWriteItem。为了进行测试,我尝试更改对ReadWriteMailbox的权限,以查看是否可以解决问题,但不能解决问题。
有人知道为什么此权限被拒绝的错误开始发生以及如何解决吗?