2017-08-17 30 views
1

我正在使用Office JS api開發Office加載項。它必須作爲HTML5應用程序託管在SAP Cloud Platform上。Office js api - 由於_host_info造成的錯誤請求

問題是,當我從桌面版本(Excel 2016)運行加載項時,出現錯誤加載錯誤嘗試訪問此加載項時出現問題。我在Fiddler中追蹤了請求,並找到了原因 - 這是添加到GET請求的參數_host_info。它具有由「|」分隔的參數。雲平臺解析此網址時出現問題,並回應400錯誤請求。從提琴手

樣本:

GET /index.html?_host_Info=Excel|Win32|16.01|en-US HTTP/1.1 

它的加載項是從辦公室365版本上運行,一切正常 - 在_host_info參數中不存在請求。

有沒有辦法如何讓這個工作?

  1. 我可以採用某種強制的Excel跳過/編碼_host_info參數?
  2. 我可以說服SAP Cloud Platform接受URL查詢參數中的「|」嗎?

感謝您的想法!

+1

什麼是您的桌面Excel 2016的版本和內部版本號? –

+0

聽起來像來自Microsoft的錯誤。 _host_Info參數應該被URL編碼,然後SCP會接受它。 –

+0

@RickKirkham Microsoft Excel 2016 MSO(16.0.7329.1047)32位 有趣的是,MS知道這一點,並從網絡版本中刪除參數(有關於此stackoverflow上的線程) – mikeek

回答

0

因爲需要下載正確的JS腳本,所以不能跳過_host_info參數。服務器客戶端使用不同的編碼。某些服務器無法處理|這是其中一例。此時我不知道有什麼緩解措施。將回來我們可能有任何建議。

+0

有沒有什麼進展? – mikeek

+0

我們在這裏更新了文檔:https://dev.office.com/docs/add-ins/develop/dialog-api-in-office-add-ins。基本上,Office會自動將名爲_host_info的查詢參數添加到傳遞給displayDialogAsync的URL。 (它會附加到自定義查詢參數後面(如果有),它不會附加到對話框導航到的任何後續URL)。 –

+0

對於由身份驗證頁中添加的hostinfo導致的問題,解決方法是(1)在您自己的域頁面中打開對話框。(2)在該頁面中,重定向到auth頁面。 在這種情況下,我們不會在重定向後附加hostinfo,它應該解決問題。 –

相關問題