Tushar Kesarwani
Tushar Kesarwani

Reputation: 11

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());
      }   


?>

I am making facebook application which uploads the image formed .. everything is cool .. but i am not getting anything to tag the randon person, i am attaching the name on that image ...

just tell me how to tag a person on a photo :)

please tell me how to do this in this code :)

Upvotes: 0

Views: 3989

Answers (2)

scibuff
scibuff

Reputation: 13755

yeah, I'm pretty sure that doesn't work, you just a sort of "invalid content" or similar error; Unless there has been an update to graph API is it NOT possible to add photo tags via the API. The only thing you can do is upload the image, add a "tag" button and redirect the user to the image on Facebook where they can tag it manually, such as here: http://o2-academy.vccphub.com/snapbooth.php/snapbooth/image/2012-01-21-032244-o2ac1-1740164044-8972579

Upvotes: 1

PKeidel
PKeidel

Reputation: 2589

Maybe one of these links can help you:

How can I tag a user in a photo using the Facebook Graph API?

https://developers.facebook.com/docs/reference/api/photo/ => tags => create

Upvotes: 1

Related Questions