简体   繁体   English

Facebook API PHP获取我被标记的朋友照片

[英]Facebook api php get friend photos where I'm tagged

I want to get specific friend photos that I'm tagged in, and my photos where this same friend is tagged in. I'm using fql, something like this, where $_POST[friend_id] is previously passed from a form with all my friends listed: 我想获取标记了我的特定朋友的照片,以及标记有该相同朋友的照片。我正在使用fql,类似这样,其中$ _POST [friend_id]以前是从表单中传递给我的,列出的朋友:

$facebook_login = "0";
$user = $facebook->getUser();
$perms = array('scope' => 'email,user_photos,read_mailbox');

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
$facebook_login = "1";
  } catch (FacebookApiException $e) {
    $user = null;
  }

} else {
    die('<script>top.location.href="'.$facebook->getLoginUrl($perms).'";</script>');
}



//friend photos that I'm tagged in
$query = "SELECT id FROM photo WHERE from = $_POST[friend_id] AND tags IN ($user)";
$result = $facebook->api(array(
  'method' => 'fql.query',
  'query' => $query,
));

echo sprintf('<pre>%s</pre>', print_r($result,TRUE));


//my photos with my friend tagged in
$query = "SELECT id FROM photo WHERE from = $user AND tags IN ($_POST[friend_id])";
$result = $facebook->api(array(
  'method' => 'fql.query',
  'query' => $query,
));

echo sprintf('<pre>%s</pre>', print_r($result,TRUE));

Can I do this? 我可以这样做吗?

Thanks 谢谢

Try the following queries: 请尝试以下查询:

To get your friend's photos where you're tagged: 要在标记了您朋友的照片的位置:

$friend_id = $_POST['friend_id'];
$query = "SELECT object_id 
          FROM photo 
          WHERE owner=$friend_id AND 
                object_id IN (SELECT object_id FROM photo_tag WHERE subject=me())";

Your photos where your friend is tagged: 标记有您朋友的照片:

$query = "SELECT object_id 
          FROM photo 
          WHERE owner=me() AND 
                object_id IN (SELECT object_id FROM photo_tag WHERE subject=$friend_id)";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM