【PowerShell】Facebook で”あいつ”と”あの娘”が友達かどうかをチェックする


以前以下の記事を投稿しました。

いやー Facebook + PowerShell 面白いですね。というか、Facebook の API が面白くてたまりません。

さて、Facebook を使っていて一番気になるのは、

「僕は彼女と友達だけど、あいつと彼女はどうだろう?」

ということです。間違いありません。

気になる二人が Facebook 上で友達かどうかを確認するには、以下のような FQL(Facebook Query Language)を使用します。

Select uid1,uid2 From friend Where uid1 = ”<1人目のUID>” AND uid2 = “<2人目のUID>”

例えば、「私」と私の上司である「長坂」が友達かどうかを確認するには、クエリーを以下のように書きます。

Select uid1,uid2 From friend Where uid1 = ”721589565” AND uid2 = “100001127441425”

ここで、721589565 は私の UID で、100001127441425 は長坂の UID です。

実行すると、以下の通りです。

PS C:\> $Query = "Select uid1,uid2 From friend Where uid1 = ‘721589565’ AND uid2 = ‘100001127441425’"
PS C:\> $(Get-FBConnection).query( $Query )

Key                                                              Value                                                          
—                                                              —–                                                          
uid1                                                             721589565
uid2                                                             100001127441425

結果が返されたときには「二人は友達である」ということです。

例えば、著名なとある有名人(UID=’100002120034593’)とは当然友達ではないので、同じスクリプトを実行しても何も戻りません。

PS C:\> $Query = "Select uid1,uid2 From friend Where uid1 = ‘721589565’ AND uid2 = ‘100002120034593’"
PS C:\> $(Get-FBConnection).query( $Query )

UID を知るには、ユーザーのウォールを参照したときに表示される id=xxxxxxxxx の部分を参照します。UID の桁数は Facebook に参加した時期によって異なります。

image

一方、長坂のページを見てみると、以下のように UID ではなく「kazunorn」という Username が使われています。

image

Username では friend テーブルは検索することができません。friend テーブルには username が含まれていないからです。そんなときは、Username から uid を引っ張ってくる必要があります。

そのためには、以下のようなクエリーを実行して user テーブルを検索します。


Select uid From user Where username=’kazunorn’


PS C:\> $Query = "Select uid From user Where username=’kazunorn’"
PS C:\> $(Get-FBConnection).query( $Query ) 

Key                                                             Value                                                          
—                                                               —–                                                          
uid                                                              100001127441425

いかがでしょう?楽しくて仕方ないですね。

WMI(Windows Management Instrumentation)と出会った時のように楽しいです。

こんな投稿、まだまだ続きます。

Comments (0)

Skip to main content