2017-05-05 17 views

答えて

2

あなたの質問を投稿する前日に開発者のプレビューでシングルサインオン(SSO)がリリースされました。システムの一部として、アドインは、 "preferred_username"プロパティを含むOfficeホストアプリケーションからトークンを取得します。プロパティの値は、Officeにログインしたユーザーの電子メールです。

概要はEnable single sign-on for Office add-ins (preview)です。

二つのサンプルがあります。両方のサンプルで

Office-Add-in-ASPNET-SSO

Office-Add-in-Nodejs-SSO

は、アドインは、Microsoftグラフへのアクセストークンを取得するために、Officeのホストから受信したトークンを使用していますが、あなたのアドインはその余分なステップを取る必要はありません。

SSOを使用せずにユーザーIDを取得する方法はわかりません。

+0

ありがとうございます!私はそれを試してみましょう。 –

+0

こんにちは。今日私はASPNET-SSOサンプルをダウンロードしました。アプリケーションID URIとして「localhost:44355」を使用してアプリケーションを登録しようとすると、「あなたのアプリケーション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は数日後に更新されます。修正は簡単です。アドインの登録時にアプリケーションID URIにアプリケーションGUIDを追加し、アドインマニフェストの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 
1

タグから、それはあなたがjavascriptのアドイン(オフィスについて話しているに見えます365)。残念ながら(AFAIK)javascript addinsでユーザー情報を取得することは現在できません。

おそらくあなたの質問はこの1つの多かれ少なかれ重複です: How to get username, email address, filename from task pane app

0

Single Sign On for Office-jsは現在開発中であるが、あなたはプレビューでそれを再生を開始することができるかもしれません。

関連する問題