2016-08-22 4 views

答えて

2

ユーザーの状態を保存する方法は、必要に応じて異なります。

マシンごとの状態を追跡する場合は、データをHTML5 Local Storageに保存できます。

(使用するマシンやドキュメントに関係なく)ユーザーごとの状態をトラッキングする場合は、ユーザーIDと状態をデータベースに保存する必要があります。私自身のアドインのために、私はFirebaseでこのデザインを実装:

function readUserStateAsync(customerId, callback){ 
    var myUserReference = firebase.database().ref("myCustomers/" + customerId); 
    myUserReference.once('value').then(function(userState) { 
     callback(userState.val()); 
    }); 
} 

function writeUserStateAsync(customerId, userState, callback){ 
    var myUserReference = firebase.database().ref("myCustomers"); 
    myUserReference.child(customerId).set(userState, function(){ callback("success"); }); 
} 

-Michaelサンダース、

1

はマイケル・サンダースの答えに追加するには、Officeアドインのプログラムマネージャー:あなたも得ることができます(アドインを取得したユーザーID)の一意のID:https://msdn.microsoft.com/en-us/library/office/jj164035.aspx

+0

私はその複雑なページを読んでいますが、単純にユニークなユーザーIDを取得する方法がありますJavaScriptを私のサーバーに送ることができますか?私の目標は、サーバーにユーザー固有の情報を格納して、アドインがインストールされている限り、ユーザーがさまざまな文書やホスト間で情報を使用できるようにすることです。私は追加されたログインを必要としたくないと思う。 –

+1

@ExcelAnalyst、https://msdn.microsoft.com/en-us/library/office/jj163880.aspxの「cid」フィールドは、*合理的に*使いやすい値です。しかし、いくつかの注意点があります。 a)アドインが組織の代理として購入された場合、またはユーザーが何らかの理由でMicrosoftアカウントでサインインしていない場合は、空であることがあります。 b)証明書が返されたIDが保証されているのは保証されていますが、ハッシュアルゴリズムが変更された場合にはいつか変更される可能性があります。しかし、空でない場合、同じユーザーのかなり良い指標です。 –

+1

PS:明確にするために、最後のステートメントの** converse **は当てはまりません。すなわち、異なるcid値は必ずしも異なるユーザーを意味するものではありません(長い間、同じユーザーの異なるハッシュになる可能性があります)。しかし、同じCID値は、ほぼ同じユーザーを意味します。ただし、保証が必要な場合は、サーバー側の検証を使用する必要があります。 –

関連する問題