2011-03-30 96 views
1

給出一個鏈接到Facebook的照片是這樣的:轉換的Facebook照片的URL鏈接,照片的圖形API對象ID

http://www.facebook.com/photo.php?pid=123&id=456 

我怎樣才能得到的照片內部的Facebook ID?鏈接中的「pid」不是我在實驗中看到的「照片」表中FQL中的「pid」。我能想到的最好方法是使用userid(id = 456)讀回所有用戶的照片,然後查找匹配的鏈接URL,但這很慢並且很笨拙。有更直接的方法嗎?

編輯:這是我已經能夠提出的最好的,它的工作原理,但如果用戶有很多照片它會拉回大量的數據。它執行相當快(1秒左右),所以它是確定的,但我仍想知道是否有一個更直接的方法:

SELECT link,object_id,aid FROM photo WHERE aid in (SELECT aid FROM album WHERE owner=456); 

然後搜索匹配的鏈接的結果與「PID = 123 「串

原來我還需要爲冊頁和它的大小對象ID,所以後來我做了第二次查詢從第一步驟中找到匹配的援助:

SELECT object_id,size FROM album WHERE aid='<aidFromStep1>' AND owner=456; 
+0

which lang c#?如果是桌面或網絡應用程序 – 2011-03-30 20:11:25

+0

我只需要圖或FQL查詢,我可以將查詢適應我需要的語言。帶有「捲曲」的命令行會很棒。 – Bogatyr 2011-03-30 20:19:53

回答

0

,如果它不知道是你想要的,但如果C#是通話,那麼我通過以下代碼完成了這項工作

dynamic friends = app.Get("me/photos", parameters); 
foreach (dynamic photoInfo in friends.data) 
{ 
    MessageBox.Show("Photo id is "+ photoInfo.id); 
} 
+0

我特別需要從給定的鏈接開始,並從那裏得到照片的對象ID,如我的問題所述,所以我不明白這有什麼幫助 – Bogatyr 2011-03-30 20:18:35