How to tag photos in facebook-api?

Posted by Camillo on Stack Overflow See other posts from Stack Overflow or by Camillo
Published on 2010-08-14T16:23:47Z Indexed on 2011/01/16 18:53 UTC
Read the original article Hit count: 267

Hey,

I wanted to ask if/how is it possible to tag a photo using the FB API (Graph or REST).

I've managed to create an album and also to upload a photo in it, but I stuck on tagging.

I've got the permissions and the correct session key.

My code until now:

        try {

        $uid = $facebook->getUser();
        $me = $facebook->api('/me');
        $token = $session['access_token'];//here I get the token from the $session array
        $album_id = $album[0];

        //upload photo
        $file= 'images/hand.jpg';
        $args = array(
        'message' => 'Photo from application',
        );
        $args[basename($file)] = '@' . realpath($file);

        $ch = curl_init();
        $url = 'https://graph.facebook.com/'.$album_id.'/photos?access_token='.$token;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
        $data = curl_exec($ch);

        //returns the id of the photo you just uploaded
        print_r(json_decode($data,true));

$search = array('{"id":', "}");
$delete = array("", "");


// picture id call with $picture
$picture = str_replace($search, $delete, $data);


//here should be the photos.addTag, but i don't know how to solve this
//above code works, below i don't know what is the error / what's missing

$json = 'https://api.facebook.com/method/photos.addTag?pid='.urlencode($picture).'&tag_text=Test&x=50&y=50&access_token='.urlencode($token);

        $ch = curl_init();
        $url = $json;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_exec($ch);




    } catch(FacebookApiException $e){
        echo "Error:" . print_r($e, true);
    }

I really searched a long time, if you know something that might help me, please post it here :) Thanks for all your help, Camillo

© Stack Overflow or respective owner

Related posts about facebook

Related posts about facebook-connect