如何通过图形API在Facebook照片上传上标记朋友


How to Tag a Friend on a Photo on Facebook Photo Upload Via Graph API

<?php
require_once 'facebook.php';
require_once 'config.php';
error_reporting(0);
if (isset($_GET['code'])){
  header("Location: http://apps.facebook.com/your_perfect_couple/");
  exit;
}
$fb = new Facebook(array(
                'appId' => $appid,
                'secret' => $appsecret,
                'cookie' => true,
                                'fileUpload' => true
));
$me = null;
$user = $fb->getUser();
if($user) {
    try {
            $me = $fb->api('/me'); 
    } catch(FacebookApiException $e) {
            error_log($e);
    }
}
$permsneeded='publish_stream,user_photos,photo_upload';
if ($me){}
else {
    $loginUrl = $fb->getLoginUrl(array(
                'scope' => $permsneeded,
                ));
    echo "
        <script type='text/javascript'>
        window.top.location.href = '$loginUrl';
        </script>
    ";
    exit;
}
if(isset($_GET['signed_request'])) {
    $fb_args="signed_request=". $_REQUEST
    ['signed_request']; }
//we start 
 $appname=$me[name];
                    $appid=$me[id];
echo "<h1>Whom Can You Make a Perfect Couple With?</h1></br></br>";
$appname_user = $appname;
try {
$friends = $fb->api('/me/friends?fields=picture,name,id');
}catch(FacebookApiException $e) {
            error_log($e);
    }
$num_friends = count($friends[data]);
$selected_friend= mt_rand(1,$num_friends);
$f_name= $friends[data][$selected_friend][name];
$f_id = $friends[data][$selected_friend][id];
$appname_frnd=$f_name;

             $base = imagecreatefromjpeg('base.jpg');
             $white = ImageColorAllocate($base, 100,130,255); 

                    $font = 'ARIAL.TTF';
                    $font2='Cacophony Loud.ttf';
                    imagettftext($base, 50, 0, 30, 90, $white, $font2, $appname_user);
                    imagettftext($base, 50, 0, 80, 260, $white, $font2, $appname_frnd);
                    // Output and free memory
                   // header('Content-type: image/jpg');

                   $image="final/final_".$appid.".jpg";

                    imagejpeg($base,$image);
                    echo "<img src='$image' />";

//We end 
//upload image

  $message = 'Wohh, I cant believe , I Can make a Perfect Couple With  '.$appname_frnd.'  :P http://apps.facebook.com/your_perfect_couple/ ';

      try {

        $ret_obj = $fb->api('/me/photos', 'POST', array(
                                         'source' => '@' . $image,
                                         'message' => $message,
                                         )
                                      );

      } catch(FacebookApiException $e) {
        $login_url = $fb->getLoginUrl( array(
                       'scope' => 'photo_upload'
                       )); 
        echo 'Please <a href="' . $login_url . '">login.</a>';
        error_log($e->getType());
        error_log($e->getMessage());
      }   

?>

我正在制作Facebook应用程序,上传形成的图像..一切都很酷..但是我没有得到任何东西来标记兰登人,我正在该图像上附加名字......

告诉我如何在照片上标记一个人:)

请告诉我如何在此代码中执行此操作:)

也许这些链接之一可以帮助您:

如何使用 Facebook Graph API 标记照片中的用户?

https://developers.facebook.com/docs/reference/api/photo/=> 标签 => 创建

是的,我很确定这不起作用,你只是一种"无效内容"或类似的错误;除非图形 API 有更新,否则无法通过 API 添加照片标签。您唯一能做的就是上传图像,添加一个"标签"按钮并将用户重定向到Facebook上的图像,他们可以在其中手动标记它,例如:http://o2-academy.vccphub.com/snapbooth.php/snapbooth/image/2012-01-21-032244-o2ac1-1740164044-8972579