2017-10-14 148 views
1

我試圖通過使用權限的Outlook Web加載項的EWS(SOAP)請求,使用UpdateItem更新IPM.Configuration.OWA.UserOptions消息中的字典元素。然而,它與下面的錯誤未能在響應:無法使用Outlook插件中的EWS UpdateItem操作

ErrorAccessDenied: Office extension is not allowed to update this type of item. 

我使用的的updateItem請求是由它的ID更新信息,並設置擴展的屬性的值的一個相當簡單的例子:

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"    xmlns:xsd="http://www.w3.org/2001/XMLSchema"    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"> 
    <soap:Header> 
    <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" /> 
    </soap:Header> 
    <soap:Body> 
    <m:UpdateItem MessageDisposition="SaveOnly" ConflictResolution="AlwaysOverwrite"> 
     <m:ItemChanges> 
     <t:ItemChange> 
      <t:ItemId Id="AAMkAGM0YTZmNjhiLTI0OWYtNGFlNC05ODAzLTNlZWQyODhmOTY2MABGAAAAAACxU7lpjO+oS5hB0UfA6muFBwDcAGmTk49MRrSCdR7rvVFPAAAAAAEBAADcAGmTk49MRrSCdR7rvVFPAAD2pXuVAAA=" ChangeKey="CQAAABYAAADcAGmTk49MRrSCdR7rvVFPAAD2uhNb" /> 
      <t:Updates> 
      <t:SetItemField> 
       <t:ExtendedFieldURI PropertyTag="0x7c07" PropertyType="Binary" /> 
       <t:Message> 
       <t:ExtendedProperty> 
        <t:ExtendedFieldURI PropertyTag="0x7c07" PropertyType="Binary" /> 
        <t:Value>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxVc2VyQ29uZmlndXJhdGlvbj4NCgk8SW5mbyB2ZXJzaW9uPSJFeGNoYW5nZS4xMiIgLz4NCgk8RGF0YT4NCgkJPGUgaz0iMTgtSXNGb2N1c2VkSW5ib3hPbkxhc3RVcGRhdGVUaW1lIiB2PSIxOC0wMS8wMS8wMDAxIDAwOjAwOjAwIiAvPg0KCQk8ZSBrPSIxOC1hdXRvYWRkc2lnbmF0dXJlIiB2PSIzLVRydWUiIC8+DQoJCTxlIGs9IjE4LVVzZXJPcHRpb25zTWlncmF0aW9uU3RhdGUiIHY9IjktNSIgLz4NCgkJPGUgaz0iMTgtdGhlbWVTdG9yYWdlSWQiIHY9IjE4LSIgLz4NCgkJPGUgaz0iMTgtYXV0b2FkZHNpZ25hdHVyZW9ucmVwbHkiIHY9IjMtVHJ1ZSIgLz4NCgkJPGUgaz0iMTgtdGltZXpvbmUiIHY9IjE4LUNlbnRyYWwgU3RhbmRhcmQgVGltZSIgLz4NCgkJPGUgaz0iMTgtc2lnbmF0dXJldGV4dCIgdj0iMTgtJiN4RDsmI3hBOy0tJiN4RDsmI3hBO0l6enogYW0gSmFuaWNrJiN4RDsmI3hBOyYjeEQ7JiN4QTsiIC8+DQoJCTxlIGs9IjE4LUZhdm9yaXRlRm9sZGVycyIgdj0iMS0xOC0zLTEyMC1BQU1rQUdNMFlUWm1OamhpTFRJME9XWXROR0ZsTkMwNU9EQXpMVE5sWldReU9EaG1PVFkyTUFBdUFBQUFBQUN4VTdscGpPK29TNWhCMFVmQTZtdUZBUURjQUdtVGs0OU1SclNDZFI3cnZWRlBBQUFBQUFFTUFBQT0tMTIwLUFBTWtBR00wWVRabU5qaGlMVEkwT1dZdE5HRmxOQzA1T0RBekxUTmxaV1F5T0RobU9UWTJNQUF1QUFBQUFBQ3hVN2xwak8rb1M1aEIwVWZBNm11RkFRRGNBR21UazQ5TVJyU0NkUjdydlZGUEFBQUFBQUVKQUFBPS0xMjAtQUFNa0FHTTBZVFptTmpoaUxUSTBPV1l0TkdGbE5DMDVPREF6TFRObFpXUXlPRGhtT1RZMk1BQXVBQUFBQUFDeFU3bHBqTytvUzVoQjBVZkE2bXVGQVFEY0FHbVRrNDlNUnJTQ2RSN3J2VkZQQUFBQUFBRVBBQUE9IiAvPg0KCQk8ZSBrPSIxOC1Jc09wdGltaXplZEZvckFjY2Vzc2liaWxpdHkiIHY9IjMtRmFsc2UiIC8+DQoJCTxlIGs9IjE4LUlzRm9jdXNlZEluYm94RW5hYmxlZCIgdj0iMy1UcnVlIiAvPg0KCQk8ZSBrPSIxOC1OZXdFbmFibGVkUG9udHMiIHY9IjktMjE0NzQwMTcyNyIgLz4NCgkJPGUgaz0iMTgtc2lnbmF0dXJlaHRtbCIgdj0iMTgtJmx0O2h0bWwmZ3Q7JiN4RDsmI3hBOyZsdDtoZWFkJmd0OyYjeEQ7JiN4QTsmbHQ7L2hlYWQmZ3Q7JiN4RDsmI3hBOyZsdDtib2R5Jmd0OyYjeEQ7JiN4QTsmbHQ7cCZndDsmYW1wO25ic3A7Jmx0Oy9wJmd0OyYjeEQ7JiN4QTsmbHQ7cCZndDstLSZsdDsvcCZndDsmI3hEOyYjeEE7Jmx0O3AmZ3Q7SXp6eiBhbSBKYW5pY2smbHQ7L3AmZ3Q7JiN4RDsmI3hBOyZsdDtwJmd0OyZhbXA7bmJzcDsmbHQ7L3AmZ3Q7JiN4RDsmI3hBOyZsdDsvYm9keSZndDsmI3hEOyYjeEE7Jmx0Oy9odG1sJmd0OyYjeEQ7JiN4QTsiIC8+DQoJPC9EYXRhPg0KPC9Vc2VyQ29uZmlndXJhdGlvbj4=</t:Value> 
       </t:ExtendedProperty>     
       </t:Message> 
      </t:SetItemField> 
      </t:Updates> 
     </t:ItemChange> 
     </m:ItemChanges> 
    </m:UpdateItem> 
    </soap:Body> 
</soap:Envelope> 

的0x7c07財產我更新的USEROPTIONS消息中包含的各種簽名相關的字典屬性的base64編碼值,我已經修改:

<?xml version="1.0" encoding="utf-8"?> 
<UserConfiguration> 
    <Info version="Exchange.12" /> 
    <Data> 
     <e k="18-IsFocusedInboxOnLastUpdateTime" v="18-01/01/0001 00:00:00" /> 
     <e k="18-autoaddsignature" v="3-True" /> 
     <e k="18-UserOptionsMigrationState" v="9-5" /> 
     <e k="18-themeStorageId" v="18-" /> 
     <e k="18-autoaddsignatureonreply" v="3-True" /> 
     <e k="18-timezone" v="18-Central Standard Time" /> 
     <e k="18-signaturetext" v="18-&#xD;&#xA;--&#xD;&#xA;Izzz am Janick&#xD;&#xA;&#xD;&#xA;" /> 
     <e k="18-FavoriteFolders" v="1-18-3-120-AAMkAGM0YTZmNjhiLTI0OWYtNGFlNC05ODAzLTNlZWQyODhmOTY2MAAuAAAAAACxU7lpjO+oS5hB0UfA6muFAQDcAGmTk49MRrSCdR7rvVFPAAAAAAEMAAA=-120-AAMkAGM0YTZmNjhiLTI0OWYtNGFlNC05ODAzLTNlZWQyODhmOTY2MAAuAAAAAACxU7lpjO+oS5hB0UfA6muFAQDcAGmTk49MRrSCdR7rvVFPAAAAAAEJAAA=-120-AAMkAGM0YTZmNjhiLTI0OWYtNGFlNC05ODAzLTNlZWQyODhmOTY2MAAuAAAAAACxU7lpjO+oS5hB0UfA6muFAQDcAGmTk49MRrSCdR7rvVFPAAAAAAEPAAA=" /> 
     <e k="18-IsOptimizedForAccessibility" v="3-False" /> 
     <e k="18-IsFocusedInboxEnabled" v="3-True" /> 
     <e k="18-NewEnabledPonts" v="9-2147401727" /> 
     <e k="18-signaturehtml" v="18-&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;--&lt;/p&gt;&lt;p&gt;John Doe&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;;" /> 
    </Data> 
</UserConfiguration> 

我找不到任何文檔說明UpdateItem操作允許或不允許的操作(the list should be here)。對於Graph或Mail API,更新Outlook Online簽名目前也不可用。如果我試圖做的最終不能工作,那麼我只是浪費了40多個小時的努力,並將失去一個客戶。 : - |

有沒有人有任何聰明的解決方法或知道一種方法來啓用此操作?請注意,在服務器端代碼中使用EWS託管API目前不適用於此解決方案。

+0

你能解釋一下你正在試圖完成什麼(即你在USEROPTIONS改變)和一些示例代碼你如何調用UpdateItem? –

+0

我基本上只是試圖更新OWA簽名。我已將我的SOAP請求添加到我的問題 –

回答

0

Outlook不允許加載項按設計創建或更新FAI消息。一般而言,我們不允許直接修改OWA選項(或任何其他「服務類型」,內部,項目/數據),這可能是內部數據結構,可能會發生更改並可能會破壞加載項。

如果您的方案明確要求訪問Outlook的簽名系統,我會建議作出請求UserVoice

+0

如果我使用傳遞給使用EWS託管API更新用戶的OWA簽名的後端Web服務的身份驗證令牌,此操作仍會被阻止嗎?該API直接允許更新FAI消息 –

+0

我確信嘗試來自後端的調用也不起作用,並且應該導致相同的錯誤。 –

+0

它會失敗,因爲身份驗證來自加載項?有一些成功使用EWS和UpdateUserConfiguration操作的示例(請參閱http://gsexdev.blogspot.ca/2009/12/changing-owa-configuration-setting-with.html),該示例專門用於修改簽名(儘管您自擔風險)。 –

相關問題