Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将facebook照片url链接转换为照片的graph api对象id_Facebook_Facebook Graph Api_Photo_Facebook Fql - Fatal编程技术网

将facebook照片url链接转换为照片的graph api对象id

将facebook照片url链接转换为照片的graph api对象id,facebook,facebook-graph-api,photo,facebook-fql,Facebook,Facebook Graph Api,Photo,Facebook Fql,给出一个facebook照片的链接,如下所示: http://www.facebook.com/photo.php?pid=123&id=456 如何获取照片的内部facebook id?链接中的pid不是我在实验中看到的照片表中FQL中的pid。我能想到的最好办法是使用userid=456读回所有用户的照片,并寻找匹配的链接URL,但这既慢又笨拙。有没有更直接的方法 编辑:这是我能想到的最好的方法,它可以工作,但是如果用户有很多照片,它会把很多数据拉回来。它的执行速度相当快,大约为1

给出一个facebook照片的链接,如下所示:

http://www.facebook.com/photo.php?pid=123&id=456
如何获取照片的内部facebook id?链接中的pid不是我在实验中看到的照片表中FQL中的pid。我能想到的最好办法是使用userid=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;

不确定这是否是您想要的,但是如果C是调用,那么我已经通过以下代码完成了

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

哪个语言是c?如果是桌面或web应用程序,我只需要图形或FQL查询,我可以根据需要的语言调整查询。带curl的命令行会很好。我特别需要从给定的链接开始,然后从那里得到照片的对象id,正如我在问题中所说的,所以我不认为这有什么帮助