2017-05-05 16 views

回答

2

幸運的是,單點登錄(SSO)在您發佈問題的前一天在開發人員預覽中發佈。作爲系統的一部分,您的加載項將從Office主機應用程序獲取包含「preferred_username」屬性的令牌。該屬性的值是登錄到Office的用戶的電子郵件。

Enable single sign-on for Office add-ins (preview)有概覽。

有兩個樣本:

Office-Add-in-ASPNET-SSO

Office-Add-in-Nodejs-SSO

在這兩個樣本,該插件還使用了從Office主機接收的令牌來獲得訪問令牌的Microsoft Graph,但你的加載項不必採取額外的步驟。

我不知道如何在不使用SSO的情況下獲取用戶身份。

+0

謝謝!我會試一試。 –

+0

嗨。今天我下載了ASPNET-SSO示例。當我嘗試使用「localhost:44355」作爲應用程序ID URI註冊應用程序時,出現此錯誤:「您的應用程序ID URI必須是全局唯一的。」如果我更改端口,我不會收到錯誤。那個地址代表什麼? 44355港口重要嗎?另外,當我嘗試構建示例時,我在清單文件中出現錯誤,說WebApplicationId是VersionOverrides的無效子項。有任何想法嗎? –

+0

@MarioSolís一些其他人遇到了同樣的問題。我們已經更新了我們的指導來解決這個問題。 GitHub版本的說明現在已更新:https://github.com/OfficeDev/office-js-docs/blob/master/docs/develop/create-sso-office-add-ins-aspnet.md dev.office.com將在幾天內更新。修復很簡單:在註冊加載項時將應用程序GUID添加到應用程序ID URI,並在加載項清單中的WebApplicationResource元素中使用相同的值。 –

0

你不需要添加,這是可能的VBA。

比方說,你要跟蹤的細胞A1哪些用戶更改了該值,你可以把這個代碼的工作表模塊中:

Sub Worksheet_Change(ByVal Target As Range) 
If Target.Address = "$A$1" Then 
    ' Do whatever... 
    Debug.Print Environ("username") & " changed the cell " & Target.Address & " at " & Now() 
End If 
End Sub 
相關問題