Friday, 30 May 2014

面子书 - 图库之旅


按大头贴, 选 Open Image in New Tab




就会看见大头贴的图片




留意 https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfa1/t1.0-1/c10.10.130.130/181592_10150105700371961_7986881_n.jpg 里面的最右边的斜线 /  181592_10150105700371961_7986881_n.jpg

 下划线 _ 分成三段,分别是 181592, 101501057003719617986881, 以及 n.jpg。

n.jpg 表示最大版本的图片, 如果把它改成 s.jpg  ('s' for small )就会变成小张。
那么为何这张 n.jpg 还是很小张呢? 那是因为链接多了 /c10.10.130.130 尺寸, 只要移除掉就可以了。 (有时多的是 /p160x160/ 尺寸。

https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfa1/t1.0-1/181592_10150105700371961_7986881_n.jpg


(注: 除了 jpg, 也有 png )
(注: 除了 s.jpg 和 n.jpg, 也有 a.jpg, b.jpg, g.jpg, o.jpg, q.jpg, t.jpg (t for tiny), x.jpg )

面子书也提供了 q1 到 q100 ('q' for quality, 1-100 for 素质数) 选择,

https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfa1/t1.0-1/q1/181592_10150105700371961_7986881_n.jpg

1 是最差的素质可是为什么没有效果呢? 你必须加上 r180 ('r' for rotate, 180 for 度数)

https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfa1/t1.0-1/q1/r180/181592_10150105700371961_7986881_n.jpg




当然你也可以改成 90度 或 270度

https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfa1/t1.0-1/q1/r270/181592_10150105700371961_7986881_n.jpg

(注:q100 的图片大小(可能 MB )虽然巨大, 但其实 q75 才是官方的最高素质, 因为 rotate 不能跟没 rotate 做比较)



问题来了

如果从天掉下来这条图片链接,

 https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfa1/t1.0-1/181592_10150105700371961_7986881_n.jpg

你要如何知道这张图片是属于哪一个面子书用户的 ?

我上面说了,
 下划线 _ 分成三段,分别是 181592, 101501057003719617986881以及 n.png。
拿中间的那个 10150105700371961, 把它组合成 https://facebook.com/10150105700371961

它就会重定向去 https://www.facebook.com/photo.php?fbid=10150105700371961&set=a.437816051960.224734.216311481960&type=1




这样就能找到图片拥有者的面子书了。当然图片必须要公开, 如果是不公开的话,比如说 Mark Zuckerberg,就不能了。




其实单靠 https://facebook.com 有时会失败的, 所以最正确的做法还是加上 photo.php?fbid= 变成 https://www.facebook.com/photo.php?fbid=10150105700371961




有了这个基础知识, 有没有其它的用处 ?



默认大头贴之旅

利用这个逻辑, 就可以逆流而上找到默认大头贴的用户。

默认大头贴的用户不是我自己吗? 当然不是, 又不是我自己 upload 的 :P




https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpa1/t1.0-1/c47.0.160.160/p160x160/252231_1002029915278_1941483569_n.jpg




抽 1002029915278 出来变成 https://www.facebook.com/photo.php?fbid=1002029915278


什么来的, 没东西?

别给它骗了, 按 F5 refresh 多次。




隐藏的大 boss 终于曝光了,去它主页看看




加入面子书的时间, 2012 年 6 月 2 日。




他唯一的朋友也是同一时间成为朋友。




预料之内, 他唯一的朋友就是面子书工程师。




用 Graph Search stalk 几下就找到 (他 follow 的人 follow 的人)

全部都是有认证的面子书员工。




去浏览 https://www.facebook.com/will.chengberg/photos (不要按 Will's Photos 按钮, 那个不齐) 可以一次过浏览面子书图库的历史。

旧的




新的




你不能直接打开, 这些链接非常非常 hang,




按右键选打开链接




还是一样, 通常要按 F5 refresh 页面几次才能看见。




然后再右键打开在新的 tab



总之, 最重要的是, 只要修改链接 (根据我上面教的) 可以得到最高清的默认用户图片。


(注: 有些如 https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-xaf1/v/t1.0-9/1005878_10150001179405071_1239501253_n.jpg?oh=xxxxxxxxxxxxxxxxxxxxxxxxxxx&oe=xxxxxxx&__gda__=1111111111_xxxxxxxxxxxxxxxxxxxxxxxxxx 之类的链接。去除中间的 "/v/t1.0-9/" 以及 .jpg 后面的 "?oh=xxxxxxxxxxxxxxxxxxxxxxxxxxx&oe=xxxxxxx&__gda__=1111111111_xxxxxxxxxxxxxxxxxxxxxxxxxx" 即可。变成 https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-xaf1/1005878_10150001179405071_1239501253_n.jpg。)



Will Chengberg 这个名字有什么意义 ? Mark Zucker"berg" 的  berg  加上他老婆 Priscilla Chan "Cheng" 谐音。Will 四个字, Mark 也是四个字。

用旧搜索引擎 (Graph Search 搜不到), 整整一百条同人名 (不同 ID)




用 API 更夸张... 五百个用户 ID




这几百个 ID 都是潜水的, 没有用户名 (Username) 。而且有 link。实际用途无从得知。


没有用户名有它的道理, 总不能取名 Will Chengberg1, Will Chengberg2 吧 =.=

 空白一片的潜水用户主页:




无论如何, 有些潜水用户还是可以的,
https://www.facebook.com/profile.php?id=89000000613342




用那些 ID 是不能组成 USER_ID@facebook.com 电邮来登入的(for 这个 case 不能)。用户名 USERNAME@facebook.com 可以。可惜, 上面讲了没有用户名 =.=

可是头头那个 will.chengberg 还是可以组成电邮的。


“Test Users can only be accessed from Facebook networks.”
"只允许面子书内部网络才可以登入。"
好了点到为止, 图库之旅至此结束。

Saturday, 24 May 2014

面子书 - 如何使用 Graph Search stalk 人家

虽然已经实行将近一年半的时间, 但如果是非英文用户的话可能没有Graph Search 这种功能。

要开通 Graph Search 的方法:

1. 首先, 去 https://www.facebook.com/settings?tab=account&section=language&view 把语言设定改成 English (US)。这个步骤之所以重要是因为美国佬现阶段会把 Graph Search 的研究工作优先投入在英文。至于中文要等多久就不得而知了 (中国政府都酱对他们)。




2. 然后去 https://www.facebook.com/about/graphsearch , 最下面的按钮选 Try Graph Search 就可以了。

开通前:



不过这个是排队性质, 可能要等很久, 一天还是一个月? 我也不清楚。

开通过后:



开通 Graph Search 后,  按搜索栏会出现搜索建议。


注: 只要去设定换去别的语言, 比如中文, 就可以用回旧的搜索引擎了。然后再换回去英文是不需要排队开通的。 至于时间限制, 比如说超过一年没换回英文就要重新排队, 酱我就不懂了。

每个搜索成绩的页面旁边都有更多的选项, 如图所示, 我搜索我的朋友后, 会有更多的选项 (太长了所以只截屏一部分):




Graph Search 的出现不仅是 Facebook 送给 stalkers 最佳的礼物, 而且颠覆了以前看起来不可能获得的讯息。我列举几个例子:


1. 查看某人xx的照片

a. 查看某人赞过的照片 https://www.facebook.com/search/4/photos-liked

这应该是最普遍拿来stalk人家的。只要是公开的图片都能囊括其中。




b.  查看某人留言过的照片 https://www.facebook.com/search/4/photos-commented




留意下 https://www.facebook.com/search/4/photos-commented, 4 就是用户 ID, 有时候那个人不是你的朋友, 很难搜索到他的名字出现在搜索栏位里头, 那就必须手动把 用户 ID 放在 www.facebook.com/search/ 和 /photos-commented 的中间

那么要如何找非朋友的 User ID? 只要去那个人的主页:




或者去简介 (About)




滑鼠右键选 Open Link in New Tab  后, 会打开空白的页面。





留意 URL 栏的地址, %5D &ref 之间, 如图所示, 1124300984 就是那个人的用户 ID。

不是每个人都有 send her a message 那行, 所以可以右键 Message 选 Inspect Element:




然后发现类似下面显示的, 按两下就可以点选, 然后复制出来从 %5D  &ref 之 间拿用户 ID。




注: 有些人可能会问为什么不推荐 graph API 找用户 ID? 因为一年后 API v1.0就不能用了。再者, graph API 是可以 turn off 的,所以不靠谱。

你也可以手动把 https://www.facebook.com/search/4/photos-liked 链接的 photos-liked 字眼改成 videos-liked, 当然很少有 videos liked 可能会很慢, 甚至乎没有任何搜索结果。



2. 查看谁赞过某某专页

字眼: People who like YouTube
链接: https://www.facebook.com/search/7270241753/likers

以前顶多看到自己的朋友:




现在是轻易地获得该信息:




做更进一步的搜索字眼, 只显示 所有按赞专某某粉丝专页的人 ( URL 地址出现 1422730151277988/likers ) 以及 那些人不能是我的朋友 ( URL 地址出现 me/non-friends )。留意下 URL 栏的 intersect, 表示把那两种字眼结合起来。




更更进一步, 加上URL地址加上 str/名字/users-named/




要隐藏你按赞的专页话,  就在你的个人主页去按 More 然后选 Likes




然后选 Edit Privacy, 记得不是选 Hide Section 哦, 因为 Hide Section 表示别人浏览你的个人主页看不见那个部分, 但是那些资料的隐私仍然是属于 "公开" 性质的。




然后把所有的选项改成 Only Me (中文叫仅限自己)。一般你按赞的粉丝页面是归类为 "Other" 的范畴。




改了后, 如果是别人搜索你按赞的页面是不可能的。
(注: 如果是自己搜索自己还是可以看到的)




3. 查看某某人的粉丝 (followers)

先看下这个隐私设置:




粉丝的设定是 "仅限自己",  但是面子书却跟你玩文字游戏, "谁可以查看你时间线的粉丝", 时间线 (timeline) 顾名思义就是你的页面。

换句话说, 别人来到你的页面, 看不到你的粉丝, 但面子书没说过别人用其它方法看不见。

面子书隐私设定没有错, 只不过它喜欢跟用户玩文字游戏而已。

其实, 隐私设定根本是属于单边政策, 能不能看见的关键是取决于 关注 (following) 设定, 而不是粉丝 followers 设定

如果是以前:

1. 用户 A 关注 用户 B。
2. 然后用户 B 隐私设定隐藏了粉丝
3. 用户 C 来到用户 B 的页面看不见用户 B 的粉丝。
4. 用户 C 刚巧来到用户 A 的页面才发现 A 关注用户 B, 反过来说, 用户 B 的其中一位粉丝是用户 A。
5. 除非用户 A 隐私设定隐藏了关注,用户 B 隐私设定隐藏了粉丝 A 才生效。

步骤 4 ,  “用户 C 刚巧来到用户 A 的页面” 表明了要知道谁是用户 B 的粉丝是不现实的。但由于 Graph Search 的出现, 这一切都变得易如反掌。

搜索字眼, Mark Zuckerberg's followers 或者 People who follow Mark Zuckerberg 都可以用。




由于 Graph Search 的隐私原理是以关注 (following) 设定为主的单边政策, 就算关注者 (following)  他自己的粉丝 (followers) 隐私设定为公开, 也是搜索不到的:




4. 查看某某人的照片 (User A's Photos)

其实换句话说就是某某人被 tag 的照片。

如果是以前, 你来到 "某某人拍的照片"栏位,  如图所示, 大马哈佛女学生, 只能看见 11 张照片 :



当然你可以去 https://www.facebook.com/settings?tab=timeline ,把 tag 的照片隐私设定为仅限自己。




很明显面子书又再玩文字游戏了, "on your timeline" 看不见。

但是别人 tag 你的照片, "名字"能不能看得见是取决于他, “而不是只有你浏览相关照片的时候才看得见你的名字, 别人浏览就看不见你的名字”。当然我觉得这并非不可能的, 只不过面子书没打算这么干。

通过变态的 Graph Search, https://www.facebook.com/search/用户ID/photos-tagged, 这一切隐私已经变成浮云。

如图所示, 之前我说只能看见 11 张照片, 现在却能一大把一大把捞取将近百张照片:




有一点我要强调的是, 每个人 Graph search 出来的可能跟别人看见的不一样, 取决于很多因素。 比如说如果是你 tag 用户 A 然后隐私设定为仅限自己,别人搜索用户 A 看不见, 但你搜索用户 A 还是可以看见的。而不同的 Graph Search, 比如说搜索图片跟搜索按赞的图片也是取决于不同的因素, 其复杂度可见一般。

最后一点, 无论是timeline User's Photos 还是Graph Search 都不会看见所有你的 tag。 完整的 tag 只有在 activity log 。





5. 查看推荐给某某人的 xx

这应该是最匪夷所思的搜索, 推荐给那个人的东西也能搜索到。当然, 由于搜索到的东西仍然遵循隐私设定, 所以你无法把他辩解为漏洞。

当然由于这本身就不是面子书的意愿, 所以不会推荐在搜索栏里, 必须要手动。
(注: 你也可以先搜索自己, 再从旁边的选项找人。)

https://www.facebook.com/search/4/photos-recommended-for, 我上面教过, 把 user ID 4 改成你要的 user ID就可以了。




https://www.facebook.com/search/4/pages-recommended-for




https://www.facebook.com/search/4/apps-recommended-for




我上面说了搜索成果是遵循隐私设定的,以 apps-recommended-for 为例,

从 https://www.facebook.com/search/4/apps-used 搜索我们可以发现, Mark Zuckerberg 用了两个 apps, 如果你学他用同样的两个公开的 app, 然后跑 apps-recommended-for 是会得到 100% 相符的搜索成果。总结就是, apps-recommended-for 是遵循隐私设定的。



我上面说了公开的 app, 就表示你可以把他设为仅限自己的隐私设定。

去 https://www.facebook.com/settings?tab=applications 应用 (Apps )设定, 中间的 public, friends 之类的就是别人能不能搜索到你用这个 apps 的关键。




改成仅限自己 (Only Me) 就可以了。





结语:

上面所举的只是几个例子, 还有很多无法一一列举 (去过的地方, 超过109岁的用户等等)。

用 not 逻辑,https://www.facebook.com/search/me/non-friends 这个会不会找完所有用户?




所有不是朋友的封面图, https://www.facebook.com/search/me/non-friends/photos-by/cover/photos/intersect (无论如何, 现实中比较有用的是找完自己朋友的封面图 https://www.facebook.com/search/me/friends/photos-by/cover/photos/intersect)




有某些功能还无法使用, 比如说状态搜寻(现有的只是图片短片):

关键词是 posts by 某某, 表达方式是 *stories-by(某某用户ID)
关键词是 posts about "pikachu", 表达方式是 *stories-keyword(pikachu) 
关键词是 posts about  某某, 表达方式是 *stories-topic(某某用户ID)
关键词是 posts 某某 commented on, 表达方式是 *stories-commented(某某用户ID)




还有 not (与 non-friends 不同), 比如说

intersect(*not(users-followed(friends(me))),friends(1202604355))




不过既然有预告(not yet supported) 信息, 就表示这些功能是将来很大可能有的。

最后, 来玩一下。

https://www.facebook.com/search/4/followers/4/users-followed/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/users-followed/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/4/followers/intersect

(注: 重复的 4/followers 会被忽略, 所以不影响速度, 只是要让你体会它的可伸缩性有多大)