Как отметить друга на фотографии в Facebook Загрузка фотографий через API Graph - PullRequest
0 голосов
/ 23 февраля 2012
<?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, которое загружает сформированное изображение .. все круто .. но я не получаю ничего, чтобы пометить случайного человека, я прилагаю имя на этом изображении ...

просто скажите, как отметить человека на фотографии:)

скажите, пожалуйста, как это сделать в этом коде:)

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

да, я почти уверен, что это не работает, вы просто что-то вроде "недопустимого содержимого" или подобной ошибки;Если не было обновлено API графа, невозможно добавить теги фотографий через API.Единственное, что вы можете сделать, это загрузить изображение, добавить кнопку «тег» и перенаправить пользователя на изображение в Facebook, где они могут пометить его вручную, например, здесь: http://o2 -academy.vccphub.com /snapbooth.php / snapbooth / изображение / 2012-01-21-032244-o2ac1-1740164044-8972579

1 голос
/ 23 февраля 2012

Может быть, одна из этих ссылок может вам помочь:

Как отметить пользователя на фотографии с помощью API Graph Facebook?

https://developers.facebook.com/docs/reference/api/photo/ => теги => создать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...