2011-09-09 13 views
0

FacebookのUIDは常に1人のユーザーに固有のものでしょうか?たとえば、ユーザーが自分のアカウントを完全に削除した場合、Facebookは新しいユーザーのUIDを再利用できますか?あるいは、都市や地方自治体のページのような無生物のIDとして使用することさえできますか? Facebookのアプリのユーザーの主キーとしてUIDを使用することはできますか?フェイスブックユーザーID(UID)は、今後のFacebook Appsのプルーフキーですか?

今後再利用されないと思われる文書は見つかりませんでした。

この質問は、多かれ少なかれ、同じこと (Facebook app database issue: Store my own User ID or just use Facebook UID?) を尋ねるしかし、答えはのUIDが将来にユニークなままであることをすべての証拠を提供していません。

答えて

1

答えはFacebook UIDの意味によります。ユーザーアカウントに関連付けられた無意味な整数値について話しているなら、おそらくOKです。あなたがUser Nameについて話しているのなら、それは意味のある鍵です。私はあなたが注意する必要があると思います。

Mark Zuckerbergの血で署名されたFacebook APIドキュメントの文が見つからないかどうかは関係ありません。意味のあるキー値を使用する場合は、常にがあります。キーが将来変更される可能性があります。

リスクが低い可能性があります。 「未来」はあなたのアプリケーションの範囲よりも長くなるかもしれません。しかし、いつの間にか、Facebookは、同じ名前の誰かがそれを持つことができるように、非アクティブまたは削除されたユーザーIDを再利用したいと確信するかもしれません。

ここには、起こる可能性があるproofがあります。

あなたのアプリケーションが今年のFacebook.com/Harmanと来年(2015年代など)の違いを確認できるようにしたい場合は、無意味なPKを残してFacebookのキーにマップする必要があります効果的な日付範囲と一緒に、そのよう:

FB_USER_KEY_MAP 
    my_pk_value IDENTITY, 
    fb_pk_value, 
    effective_date, 
    expiry_date 

これはあなたのPKは、それが一度だけあなたのテーブルではなく、限り、それのように見える限りではないだけで一意であることを絶対確認するための唯一の方法です常に正確に同じ人物/勘定を指します。

+0

Facebookが出て、UIDを再割り当てしないと明言するまで、これはおそらく最良の答えだと思います。私はUser NameとしてUIDを参照していたように私が出くわすわけではありませんでしたが、私はこの答えがこの問題を混乱させているすべての人に役立つと考えています。これは、FBがUIDに対して行った変更に対して自分自身を保護する良い方法を提供します(これは可能ですが、そうは考えにくいためです)。それはまた、他の回答のコンセンサスを含んでいます... FacebookはUIDを再割り当てするでしょうか?おそらくそうではありません。 –

+0

有効期限を設定する時期をどのように知っていますか?そして、どのような価値? –

+0

私は通常、競合する外部主キー値の挿入に基づいて有効期限を設定します。正確な日付を知っているかどうかは、外部データソースがどの程度密接にわかっているかによって異なります。おそらく、システムが最初に競合に気付いた日時を使用することができます。それは、あなた自身のシステム内のあらゆる目的に十分適しているはずです。 –

1

UIDは常に一意になります。

プライマリキー(PK)は、「このテーブルで作成された行の数」として分類され、削除された行を考慮しない自動インクリメントとして設定するのが一般的です。したがって、3行を追加して削除しても、自動インクリメントは4に設定されます。これは、挿入された次の行のIDになります。

これは、「どこにも記載されていない、どこにでも書かれている」という場合があります。Pそれは常に暗示されるべきものの1つです。 PKは決して異なることのために二度使われることはありません。完全停止。

+0

あなたはおそらく正しいと思いますが、FacebookのドキュメントではUIDを「プライマリキー」と呼んでいてもどこにも表示されません。確かにプライマリキーのように見えますが、データベースに公開されていない別のプライマリキーを使用している可能性はありませんか? Facebookがこの重要な情報を明示的にしても、それがどれほど強く示唆されているかにかかわらず、それがうまくいくと思う。 –

+0

これはいつでも可能ですが、あなたは決して知らないでしょう:「これはどれくらい安全でしょうか?」という意味では、それは確かにかなり高く、あなたは少なくとも99/100で話しています。ユーザーIDはPKを設定する "正しい"値なので、十分安全なはずです*。 – Joe

+0

Facebookのドキュメンテーションには、UIDをPKを設定する「正しい」値として記述していますか?それとも、Facebookの開発者の間で一般的な行為であるという意味で正しいことを意味しますか? –

0

誰かが管理しているデータを使用するたびに、その人が壊れてしまう可能性があります。

あなたは社会保障番号(SSN)が個人に固有のものであると考えます。しかし、何十年にもわたって、社会保障庁は実際にその数を複数回割り当てていました。

Facebookはこれをスクリューすることはまずありません。しかし、人間の誤りや悪意の結果として起こる可能性があります。

関連する問題