【问题标题】:Facebook photo tagging app not tagging peopleFacebook照片标记应用程序不标记人
【发布时间】:2011-07-20 02:24:29
【问题描述】:

我有一个 Facebook 照片标记应用程序,它在几个月前可以正常工作,但现在已经不行了。用户对应用程序进行身份验证,然后将图片上传到他们的 Facebook 帐户并标记他们的朋友。应用上传图片但由于某种原因停止标记。

require_once('facebook.php');

$_SESSION['init'] = true; $current_date=date('m/d/Y');   $facebook =
new Facebook(array(
  'appId' => FACEBOOK_APP_ID,
  'secret' => FACEBOOK_SECRET,
  'cookie' => true,   
));   

$facebook->setFileUploadSupport(true); 
$session = $facebook->getSession();   $tokenorig =
$facebook->getAccessToken();

$friends =
  file_get_contents("https://graph.facebook.com/me/friends?access_token="
  . $tokenorig);

$friends = json_decode($friends, true);
$friends = $friends['data'];

foreach($friends as $friend) {
  $uids[] = $friend['id'];
} 

function makeTagArray($userId) {
  $x=1; $y=1;

  foreach($userId as $id) {
    $tags[] = array('tag_uid'=>$id, 'x'=>$x,'y'=>$y);
    $x+=1;
    $y+=1;
  }

  $tags = json_encode($tags);
  return $tags; 
}


$arguments = array(
  'message' => 'hi guys ',
  'tags' => makeTagArray($uids),
  'source' => '@' .realpath('pic2.jpg'),
);

$alb = "13378";
uploadPhoto(
  $facebook, 
  $alb, 
  $arguments,
  $tokenorig);

function uploadPhoto($facebook,$albId,$arguments,$tokenorig) {
  //https://graph.facebook.com/me/photos
  try {
    $fbUpload =
      $facebook->api('/'.$albId.'/photos?access_token='.$tokenorig,'post',
      $arguments);

    return $fbUpload;
  } catch(FacebookApiException $e) {
    echo "eror";
    echo $e;
    // var_dump($e);

    return false;
  } 
}

//////////结束

【问题讨论】:

  • Judith,请您下次使用代码“{}”按钮获取代码,并确保代码格式正确,以便于阅读。谢谢!

标签: facebook


【解决方案1】:

首先, 您需要用户授权您的应用程序代表他们上传照片和标记,并且 您需要 publish_stream 和 user_photos 权限才能标记用户的朋友

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多